eyemapwidget.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #include "eyemapwidget.h"
  2. #include "ui_eyemapwidget.h"
  3. #include <QDebug>
  4. #include <QFile>
  5. #include <QDateTime>
  6. #include "settingnum.h"
  7. #include "OneEyeMap.h"
  8. EyeMapWidget::EyeMapWidget(QWidget *parent) :
  9. QWidget(parent),
  10. ui(new Ui::EyeMapWidget)
  11. {
  12. ui->setupUi(this);
  13. m_logger = spdlog::get("EyeMap");
  14. if(m_logger == nullptr)
  15. {
  16. qDebug() << "获取 EyeMap logger 失败";
  17. return;
  18. }
  19. /* 设置无边框和自动全屏 */
  20. this->setWindowFlags(Qt::FramelessWindowHint);
  21. this->setWindowState(Qt::WindowFullScreen);
  22. /* 加载QSS文件 */
  23. QFile fileQss(":/qss/EyeMapWidget/EyeMapWidget.qss");
  24. if(fileQss.open(QFile::ReadOnly))
  25. {
  26. QString qss = fileQss.readAll();
  27. this->setStyleSheet(qss);
  28. fileQss.close();
  29. } else
  30. {
  31. SPDLOG_LOGGER_ERROR(m_logger, "加载QSS文件失败");
  32. }
  33. /* 获取日期和时间,启动时间定时器 */
  34. QDate date = QDate::currentDate();
  35. QString strDate = date.toString("yyyy-MM-dd");
  36. QString strWeek = date.toString("dddd");
  37. ui->label_date->setText(strDate + " " + strWeek);
  38. QDateTime time = QDateTime::currentDateTime();
  39. QString strTime = time.toString("hh:mm:ss");
  40. ui->label_time->setText(strTime);
  41. m_timerTime.setTimerType(Qt::PreciseTimer);
  42. m_timerTime.setSingleShot(false);
  43. /* 创建8个眼图 */
  44. for(int i = 1; i <= 8; i++)
  45. {
  46. OneEyeMap* oneEyeMap = new OneEyeMap(this);
  47. oneEyeMap->setNum(i);
  48. oneEyeMap->setTitle("通道" + QString::number(i));
  49. oneEyeMap->setColor(QColor("#2D2D31"));
  50. oneEyeMap->hide();
  51. }
  52. /* 连接信号和槽 */
  53. connect(ui->pBtn_exit, &QPushButton::clicked, this, &EyeMapWidget::do_exit);
  54. connect(&m_timerTime, &QTimer::timeout, this, &EyeMapWidget::do_timeWalk);
  55. connect(ui->pBtn_settingNum, &QPushButton::clicked, this, &EyeMapWidget::do_pBtnSettingNum);
  56. m_timerTime.start(1000);
  57. }
  58. EyeMapWidget::~EyeMapWidget()
  59. {
  60. delete ui;
  61. }
  62. void EyeMapWidget::do_exit()
  63. {
  64. this->close();
  65. }
  66. /* 时间跳动槽函数 */
  67. void EyeMapWidget::do_timeWalk()
  68. {
  69. /* 获取时间 */
  70. QTime time = QTime::currentTime();
  71. QString strTime = time.toString("hh:mm:ss");
  72. ui->label_time->setText(strTime);
  73. }
  74. /* 设置眼图个数槽函数 */
  75. void EyeMapWidget::do_pBtnSettingNum()
  76. {
  77. std::shared_ptr<SettingNum> settingNum = std::make_shared<SettingNum>();
  78. settingNum->setParent(this);
  79. /* 设置眼图显示的个数 */
  80. settingNum->setRowAndColumn(4, 2);
  81. settingNum->exec();
  82. }
  83. /* 排列眼图布局 */
  84. void EyeMapWidget::eyeMapLayout()
  85. {
  86. }