#include "eyemapwidget.h" #include "ui_eyemapwidget.h" #include #include #include #include "settingnum.h" #include "OneEyeMap.h" EyeMapWidget::EyeMapWidget(QWidget *parent) : QWidget(parent), ui(new Ui::EyeMapWidget) { ui->setupUi(this); m_logger = spdlog::get("EyeMap"); if(m_logger == nullptr) { qDebug() << "获取 EyeMap logger 失败"; return; } /* 设置无边框和自动全屏 */ this->setWindowFlags(Qt::FramelessWindowHint); this->setWindowState(Qt::WindowFullScreen); /* 加载QSS文件 */ QFile fileQss(":/qss/EyeMapWidget/EyeMapWidget.qss"); if(fileQss.open(QFile::ReadOnly)) { QString qss = fileQss.readAll(); this->setStyleSheet(qss); fileQss.close(); } else { SPDLOG_LOGGER_ERROR(m_logger, "加载QSS文件失败"); } /* 获取日期和时间,启动时间定时器 */ QDate date = QDate::currentDate(); QString strDate = date.toString("yyyy-MM-dd"); QString strWeek = date.toString("dddd"); ui->label_date->setText(strDate + " " + strWeek); QDateTime time = QDateTime::currentDateTime(); QString strTime = time.toString("hh:mm:ss"); ui->label_time->setText(strTime); m_timerTime.setTimerType(Qt::PreciseTimer); m_timerTime.setSingleShot(false); /* 创建8个眼图 */ for(int i = 1; i <= 8; i++) { OneEyeMap* oneEyeMap = new OneEyeMap(this); oneEyeMap->setNum(i); oneEyeMap->setTitle("通道" + QString::number(i)); oneEyeMap->setColor(QColor("#2D2D31")); oneEyeMap->hide(); } /* 连接信号和槽 */ connect(ui->pBtn_exit, &QPushButton::clicked, this, &EyeMapWidget::do_exit); connect(&m_timerTime, &QTimer::timeout, this, &EyeMapWidget::do_timeWalk); connect(ui->pBtn_settingNum, &QPushButton::clicked, this, &EyeMapWidget::do_pBtnSettingNum); m_timerTime.start(1000); } EyeMapWidget::~EyeMapWidget() { delete ui; } void EyeMapWidget::do_exit() { this->close(); } /* 时间跳动槽函数 */ void EyeMapWidget::do_timeWalk() { /* 获取时间 */ QTime time = QTime::currentTime(); QString strTime = time.toString("hh:mm:ss"); ui->label_time->setText(strTime); } /* 设置眼图个数槽函数 */ void EyeMapWidget::do_pBtnSettingNum() { std::shared_ptr settingNum = std::make_shared(); settingNum->setParent(this); /* 设置眼图显示的个数 */ settingNum->setRowAndColumn(4, 2); settingNum->exec(); } /* 排列眼图布局 */ void EyeMapWidget::eyeMapLayout() { }