OriginalWnd.cpp 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #include "OriginalWnd.h"
  2. #include "Login.h"
  3. #include "ui_OriginalWnd.h"
  4. #include "OriginalWnd/ChartsAndCamerasWnd.h"
  5. #include "OriginalWnd/MainAndSecondaryCamerasWnd.h"
  6. #include "OriginalWnd/SingleCameraOperationWnd.h"
  7. #include "OriginalWnd/treeviewmanager.h"
  8. #include <QDebug>
  9. #include <QJsonDocument>
  10. #include <QFile>
  11. #include <QFileDialog>
  12. #include <QDateTime>
  13. #include <QTimer>
  14. #include <QSettings>
  15. #include <QMouseEvent>
  16. OriginalWnd::OriginalWnd(QWidget *parent)
  17. : QMainWindow(parent)
  18. , ui(new Ui::OriginalWnd)
  19. {
  20. ui->setupUi(this);
  21. initForm();
  22. }
  23. OriginalWnd::~OriginalWnd()
  24. {
  25. delete ui;
  26. }
  27. QWidget* OriginalWnd::getWidgetLeft() const
  28. {
  29. return ui->widget;
  30. }
  31. void OriginalWnd::initForm()
  32. {
  33. QTimer *timer = new QTimer(this);
  34. connect(timer, &QTimer::timeout, this, &OriginalWnd::updateTime);
  35. timer->start(100);
  36. ui->toolButton->setIcon(QIcon(":/images/light/stop.png"));
  37. ui->toolButton_2->setIcon(QIcon(":/images/light/start.png"));
  38. ui->toolButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
  39. ui->toolButton_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
  40. ui->label_userlogo->setPixmap(QPixmap(":/images/light/user.png").scaled(20, 20, Qt::KeepAspectRatio));
  41. QSettings settings("OrganizationName__", "ApplicationName__");
  42. int lastSavedIndex = settings.value("lastIndex", 1).toInt();
  43. if (lastSavedIndex == 1) {
  44. Demo001_1 *demo001_1 = new Demo001_1;
  45. ui->switchShowPageUI->addWidget(demo001_1);
  46. ui->switchShowPageUI->setCurrentIndex(ui->switchShowPageUI->indexOf(demo001_1));
  47. }
  48. if (lastSavedIndex == 2) {
  49. Demo001_2 *demo001_2 = new Demo001_2;
  50. ui->switchShowPageUI->addWidget(demo001_2);
  51. ui->switchShowPageUI->setCurrentIndex(ui->switchShowPageUI->indexOf(demo001_2));
  52. }
  53. if (lastSavedIndex == 3) {
  54. Demo001_3 *demo001_3 = new Demo001_3;
  55. ui->switchShowPageUI->addWidget(demo001_3);
  56. ui->switchShowPageUI->setCurrentIndex(ui->switchShowPageUI->indexOf(demo001_3));
  57. }
  58. // 初始化 TreeViewManager
  59. treeViewManager = new TreeViewManager(this, ui->widget_2);
  60. if (!treeViewManager) {
  61. qWarning() << "TreeViewManager 初始化失败";
  62. return;
  63. }
  64. ui->label_userlogo->installEventFilter(this);
  65. ui->label_username->installEventFilter(this);
  66. }
  67. void OriginalWnd::updateTime() {
  68. QDateTime currentDateTime = QDateTime::currentDateTime();
  69. QString timeStr = currentDateTime.toString("yyyy-MM-dd HH:mm:ss");
  70. ui->label_time->setText(timeStr);
  71. QSettings settings("YourCompany_2", "YourAppName_2");
  72. QString userName = settings.value("userName", "???").toString();
  73. ui->label_username->setText(userName);
  74. }
  75. bool OriginalWnd::eventFilter(QObject *obj,QEvent *event)
  76. {
  77. if (obj == this->ui->label_userlogo || obj == this->ui->label_username)
  78. {
  79. //判断事件类型是否为鼠标事件
  80. if (event->type() == QEvent::MouseButtonPress)
  81. {
  82. //转换为鼠标事件
  83. QMouseEvent* mouseenevt = static_cast<QMouseEvent*>(event);
  84. //判断鼠标左键点击
  85. if (mouseenevt->button() == Qt::LeftButton)
  86. {
  87. if (QStackedWidget *parent = qobject_cast<QStackedWidget*>(this->parentWidget())) {
  88. Login *loginWnd = new Login(this);
  89. parent->addWidget(loginWnd);
  90. parent->setCurrentIndex(parent->indexOf(loginWnd));
  91. }
  92. }
  93. }
  94. }
  95. return QWidget::eventFilter(obj, event);
  96. }
  97. void OriginalWnd::on_ChartButton_clicked()
  98. {
  99. Demo001_1 *demo001_1 = new Demo001_1;
  100. ui->switchShowPageUI->addWidget(demo001_1);
  101. ui->switchShowPageUI->setCurrentIndex(ui->switchShowPageUI->indexOf(demo001_1));
  102. QSettings settings("OrganizationName__", "ApplicationName__");
  103. settings.setValue("lastIndex", 1);
  104. }
  105. void OriginalWnd::on_DoubleImageButton_clicked()
  106. {
  107. Demo001_2 *demo001_2 = new Demo001_2;
  108. ui->switchShowPageUI->addWidget(demo001_2);
  109. ui->switchShowPageUI->setCurrentIndex(ui->switchShowPageUI->indexOf(demo001_2));
  110. QSettings settings("OrganizationName__", "ApplicationName__");
  111. settings.setValue("lastIndex", 2);
  112. }
  113. void OriginalWnd::on_SingleImageButton_clicked()
  114. {
  115. Demo001_3 *demo001_3 = new Demo001_3;
  116. ui->switchShowPageUI->addWidget(demo001_3);
  117. ui->switchShowPageUI->setCurrentIndex(ui->switchShowPageUI->indexOf(demo001_3));
  118. QSettings settings("OrganizationName__", "ApplicationName__");
  119. settings.setValue("lastIndex", 3);
  120. }