MainAndSecondaryCamerasWnd.cpp 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592
  1. #include "MainAndSecondaryCamerasWnd.h"
  2. #include "ui_MainAndSecondaryCamerasWnd.h"
  3. #include <QSettings>
  4. #include <QCloseEvent>
  5. #include <QVBoxLayout>
  6. #include <QTimer>
  7. #include "CameraMaterialGroupWnd/CameraImage/CameraImageHandler.h"
  8. #include <qDebug.h>
  9. #include <QScrollBar>
  10. MainAndSecondaryCamerasWnd::MainAndSecondaryCamerasWnd(QWidget *parent)
  11. : QMainWindow(parent)
  12. , ui(new Ui::MainAndSecondaryCamerasWnd)
  13. {
  14. ui->setupUi(this);
  15. QSettings settings("YourOrganization", "YourApplication");
  16. settings.beginGroup("LastSettings");
  17. lastRightPixmap = settings.value("LastRightPixmap").value<QPixmap>();
  18. lasttextList = settings.value("LasttextList").toStringList();
  19. lastLastRightPixmap = settings.value("LastLastRightPixmap").value<QPixmap>();
  20. lastLasttextList = settings.value("LastLasttextList").toStringList();
  21. settings.endGroup();
  22. initFrom();
  23. isShow = true;
  24. }
  25. MainAndSecondaryCamerasWnd::~MainAndSecondaryCamerasWnd()
  26. {
  27. delete ui;
  28. }
  29. void MainAndSecondaryCamerasWnd::initFrom()
  30. {
  31. QTimer *timer = new QTimer(this);
  32. connect(timer, &QTimer::timeout, this, &MainAndSecondaryCamerasWnd::checkSettings);
  33. timer->start(100);
  34. ui->Leftlabel_Percentage->setAlignment(Qt::AlignCenter);
  35. ui->Rightlabel_Percentage->setAlignment(Qt::AlignCenter);
  36. initSliders();
  37. initLineEdits();
  38. // 连接 QSlider 的 valueChanged 信号到 QProgressBar 的 setValue 槽
  39. connect(ui->RedLightverticalSlider_2, &QSlider::valueChanged, ui->RedLightprogressBar_2, &QProgressBar::setValue);
  40. connect(ui->BlueLightverticalSlider, &QSlider::valueChanged, ui->BlueLightprogressBar_2, &QProgressBar::setValue);
  41. connect(ui->GreenLightverticalSlider_5, &QSlider::valueChanged, ui->GreenLightprogressBar_5, &QProgressBar::setValue);
  42. connect(ui->DotLightverticalSlider_2, &QSlider::valueChanged, ui->DotLightprogressBar_2, &QProgressBar::setValue);
  43. connectSliderAndLineEdit(ui->RedLightverticalSlider_2, ui->RedLightlineEdit_2);
  44. connectSliderAndLineEdit(ui->GreenLightverticalSlider_5, ui->GreenLightlineEdit_5);
  45. connectSliderAndLineEdit(ui->BlueLightverticalSlider, ui->BlueLightlineEdit_2);
  46. connectSliderAndLineEdit(ui->DotLightverticalSlider_2, ui->DotLightlineEdit_2);
  47. connect(ui->LeftOperatewidget,&ImageWidget::sendDoubleClicksignal,this,&MainAndSecondaryCamerasWnd::handleDoubleClick);
  48. connect(ui->RightOperatewidget,&ImageWidget::sendDoubleClicksignal,this,&MainAndSecondaryCamerasWnd::handleDoubleClick);
  49. QWidget *viewport = ui->scrollArea->viewport();
  50. QWidget *container = new QWidget(viewport);
  51. QHBoxLayout *mainLayout = new QHBoxLayout(container);
  52. mainLayout->setSpacing(28);
  53. mainLayout->setMargin(0);
  54. QList<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8};
  55. QList<Group*> widgets;
  56. for (int i = 0; i < numbers.size(); ++i) {
  57. int num = numbers[i];
  58. CameraImageHandler* manager = new CameraImageHandler(num);
  59. Group* widget = manager->getGroup();
  60. connect(widget,&Group::send_button_Signal,this,&MainAndSecondaryCamerasWnd::showAndHide);
  61. if (widget != nullptr) {
  62. mainLayout->addWidget(widget);
  63. widgets.append(widget);
  64. }
  65. delete manager;
  66. }
  67. // 设置控件的最小高度和最大宽度
  68. int minHeight = 162;
  69. int maxWidth = 244;
  70. int num = -28;
  71. for (Group* w : widgets) {
  72. w->setMinimumHeight(minHeight);
  73. w->setMaximumWidth(maxWidth);
  74. num = num + 272;
  75. }
  76. container->setMinimumSize(num, 162);
  77. container->setLayout(mainLayout);
  78. ui->scrollArea->setWidget(container);
  79. ui->scrollArea->resize(1062, 177);
  80. ui->LeftOperatewidget->setMouseTracking(true);
  81. ui->RightOperatewidget->setMouseTracking(true);
  82. QSettings settings2("YourOrganization", "YourApplication_lastWndType");
  83. int lastWndType = settings2.value("LastWndType").toInt();
  84. int LastGroup = settings2.value("LastGroup").toInt();
  85. lastIndex = lastWndType;
  86. lastGroupId = LastGroup;
  87. }
  88. void MainAndSecondaryCamerasWnd::initSliders() {
  89. QList<QSlider*> sliders = {
  90. ui->RedLightverticalSlider_2, ui->GreenLightverticalSlider_5,
  91. ui->BlueLightverticalSlider, ui->DotLightverticalSlider_2
  92. };
  93. QList<int> initialValues = {11, 22, 9, 11, 0, 0};
  94. for (int i = 0; i < sliders.size(); ++i) {
  95. sliders[i]->setMinimum(0);
  96. sliders[i]->setMaximum(100);
  97. sliders[i]->setValue(initialValues[i]);
  98. }
  99. }
  100. void MainAndSecondaryCamerasWnd::initProgressBar(){
  101. QList<int> initialValues = {22, 11, 0, 0};
  102. QList<QProgressBar*> progressBar = {
  103. ui->RedLightprogressBar_2,ui->GreenLightprogressBar_5,
  104. ui->BlueLightprogressBar_2,ui->DotLightprogressBar_2
  105. };
  106. for (int i = 0; i < progressBar.size(); ++i) {
  107. progressBar[i]->setMinimum(0);
  108. progressBar[i]->setMaximum(100);
  109. progressBar[i]->setValue(initialValues[i]);
  110. }
  111. }
  112. void MainAndSecondaryCamerasWnd::handleDoubleClick(){
  113. QPoint globalMousePos = QCursor::pos(); // 获取当前鼠标的全局位置
  114. QPoint leftWidgetLocalPos = ui->LeftOperatewidget->mapFromGlobal(globalMousePos);
  115. QPoint rightWidgetLocalPos = ui->RightOperatewidget->mapFromGlobal(globalMousePos);
  116. if (ui->LeftOperatewidget->rect().contains(leftWidgetLocalPos)){
  117. QPixmap scaledImage = Left_currentPixmap.scaled(Left_currentPixmap.width(), Left_currentPixmap.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
  118. ui->LeftOperatewidget->setPixmap(scaledImage); // 这里传递缩放后的图片
  119. Left_scaleFactor = 1.0;
  120. ui->Leftlabel_Percentage->setText("100%");
  121. }
  122. if(ui->RightOperatewidget->rect().contains(rightWidgetLocalPos)){
  123. QPixmap scaledImage = Right_currentPixmap.scaled(Right_currentPixmap.width(), Right_currentPixmap.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
  124. ui->RightOperatewidget->setPixmap(scaledImage); // 这里传递缩放后的图片
  125. Right_scaleFactor = 1.0;
  126. ui->Rightlabel_Percentage->setText("100%");
  127. }
  128. }
  129. void MainAndSecondaryCamerasWnd::initLineEdits() {
  130. QList<QLineEdit*> lineEdits = {
  131. ui->RedLightlineEdit_2, ui->GreenLightlineEdit_5,
  132. ui->BlueLightlineEdit_2, ui->DotLightlineEdit_2
  133. };
  134. for (QLineEdit* lineEdit : lineEdits) {
  135. lineEdit->setAlignment(Qt::AlignCenter);
  136. }
  137. }
  138. void MainAndSecondaryCamerasWnd::connectSliderAndLineEdit(QSlider* slider, QLineEdit* lineEdit)
  139. {
  140. QIntValidator* validator = new QIntValidator(slider->minimum(), slider->maximum(), lineEdit);
  141. lineEdit->setValidator(validator);
  142. connect(slider, &QSlider::valueChanged, [lineEdit](int value) {
  143. lineEdit->setText(QString::number(value));
  144. });
  145. connect(lineEdit, &QLineEdit::textChanged, [slider](const QString &text) {
  146. bool ok;
  147. int value = text.toInt(&ok);
  148. if (ok && value >= slider->minimum() && value <= slider->maximum()) {
  149. slider->setValue(value);
  150. } else if (!text.isEmpty()) {
  151. int closestValue = qMin(qMax(text.toInt(&ok), slider->minimum()), slider->maximum());
  152. slider->setValue(closestValue);
  153. }
  154. });
  155. }
  156. void MainAndSecondaryCamerasWnd::checkSettings() {
  157. QSettings settings("YourCompany", "YourApplication_");
  158. int groupId = settings.value("GroupId", 0).toInt();
  159. int index = settings.value("Index", 0).toInt();
  160. if (groupId != lastGroupId || index != lastIndex) {
  161. loadSettings();
  162. lastGroupId = groupId;
  163. lastIndex = index;
  164. }
  165. }
  166. void MainAndSecondaryCamerasWnd::loadSettings()
  167. {
  168. QSettings settings("YourCompany", "YourApplication_");
  169. int groupId = settings.value("GroupId", 0).toInt();
  170. int index = settings.value("Index", 0).toInt();
  171. loadGroupSettings(groupId, index);
  172. }
  173. void MainAndSecondaryCamerasWnd::loadGroupSettings(int Id, int Index) {
  174. // isUpdatingSettings = true;
  175. QSettings settings("YourOrganization", "YourApplication");
  176. settings.beginGroup(QString::number(Id));
  177. QString imagePath1 = settings.value("ImagePath1").toString();
  178. int materialWndType = settings.value("MaterialWndType").toInt();
  179. QStringList textList = settings.value("TextList").toStringList();
  180. settings.endGroup();
  181. QString lastRightImage = settings.value("LastRightImage").toString();
  182. QSize size_left = ui->LeftOperatewidget->size();
  183. QSize size_right = ui->RightOperatewidget->size();
  184. QPixmap newPixmap;
  185. if (Index == 1) {
  186. newPixmap = QPixmap(imagePath1);
  187. clearLayout(1);
  188. if (lastIndex == 1) {
  189. clearLayout(0);
  190. } else if (lastIndex == 2) {
  191. clearLayout(0);
  192. if (lastGroupId == 1) {
  193. WaferWidget(0);
  194. } else if (lastGroupId == 2) {
  195. WaffleWidget(0);
  196. } else if (lastGroupId == 3) {
  197. MaterialBoxWidget(0);
  198. }
  199. }
  200. } else if (Index == 2) {
  201. clearLayout(1);
  202. clearLayout(0);
  203. if (materialWndType == 1) {
  204. if (lastIndex == 2) {
  205. if (lastGroupId == 1) {
  206. WaferWidget(0);
  207. } else if (lastGroupId == 2) {
  208. WaffleWidget(0);
  209. } else if (lastGroupId == 3) {
  210. MaterialBoxWidget(0);
  211. }
  212. }
  213. WaferWidget(1);
  214. } else if (materialWndType == 2) {
  215. if (lastIndex == 2) {
  216. if (lastGroupId == 1) {
  217. WaferWidget(0);
  218. } else if (lastGroupId == 2) {
  219. WaffleWidget(0);
  220. } else if (lastGroupId == 3) {
  221. MaterialBoxWidget(0);
  222. }
  223. }
  224. WaffleWidget(1);
  225. } else if (materialWndType == 3) {
  226. if (lastIndex == 2) {
  227. if (lastGroupId == 1) {
  228. WaferWidget(0);
  229. } else if (lastGroupId == 2) {
  230. WaffleWidget(0);
  231. } else if (lastGroupId == 3) {
  232. MaterialBoxWidget(0);
  233. }
  234. }
  235. MaterialBoxWidget(1);
  236. }
  237. }
  238. QSettings settings2("YourOrganization", "YourApplication_lastWndType");
  239. settings2.setValue("LastWndType", lastIndex);
  240. settings2.setValue("LastGroup", lastGroupId);
  241. QPixmap scaledPixmap_right = newPixmap.scaled(size_right, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  242. ui->RightOperatewidget->setPixmap(scaledPixmap_right);
  243. QPixmap scaledPixmap_left = lastRightPixmap.scaled(size_left, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  244. ui->LeftOperatewidget->setPixmap(scaledPixmap_left);
  245. // 更新当前图片的成员变量
  246. Left_currentPixmap = scaledPixmap_left;
  247. Left_scaleFactor = 1.0;
  248. Right_currentPixmap = scaledPixmap_right;
  249. Right_scaleFactor = 1.0;
  250. ui->Leftlabel_Percentage->setText("100%");
  251. ui->Rightlabel_Percentage->setText("100%");
  252. ui->LeftDataSources->clear();
  253. ui->LeftDataSources->addItems(lasttextList);
  254. ui->RightDataSources->clear();
  255. ui->RightDataSources->addItems(textList);
  256. // 保存到 QSettings
  257. settings.beginGroup("LastSettings");
  258. settings.setValue("LastRightPixmap", lastRightPixmap);
  259. settings.setValue("LasttextList", lasttextList);
  260. settings.setValue("LastLastRightPixmap", lastLastRightPixmap);
  261. settings.setValue("LastLasttextList", lastLasttextList);
  262. settings.endGroup();
  263. if (isUpdatingSettings) {
  264. lastLastRightPixmap = lastRightPixmap;
  265. lastLasttextList = lasttextList;
  266. lastRightPixmap = scaledPixmap_right;
  267. lasttextList = textList;
  268. }
  269. }
  270. void MainAndSecondaryCamerasWnd::clearLayout(int flag) {
  271. QWidget* widget = (flag == 1) ? ui->RightOperatewidget : ui->LeftOperatewidget;
  272. QLayout* layout = widget->layout();
  273. if (layout) {
  274. QLayoutItem *child;
  275. while ((child = layout->takeAt(0)) != nullptr) {
  276. if (child->widget() != nullptr) {
  277. delete child->widget(); // 删除控件
  278. }
  279. delete child; // 删除布局项
  280. }
  281. delete layout; // 删除布局本身
  282. }
  283. }
  284. // 圆晶
  285. void MainAndSecondaryCamerasWnd::WaferWidget(int flag) {
  286. // QWidget *operatewidget = ui->LeftOperatewidget;
  287. // if (flag == 1) {
  288. // operatewidget = ui->RightOperatewidget;
  289. // }
  290. // QGridLayout *layout = new QGridLayout(operatewidget);
  291. // wafer = new Wafer(1, operatewidget);
  292. // wafer->initFrom(operatewidget);
  293. // layout->setContentsMargins(0, 0, 0, 0);
  294. // layout->addWidget(wafer->globalWidget);
  295. // operatewidget->setLayout(layout);
  296. // operatewidget->setFixedSize(476, 476);
  297. }
  298. // 华夫盒
  299. void MainAndSecondaryCamerasWnd::WaffleWidget(int flag) {
  300. QWidget *operatewidget = ui->LeftOperatewidget;
  301. if (flag == 1) {
  302. operatewidget = ui->RightOperatewidget;
  303. }
  304. QVBoxLayout *layout = new QVBoxLayout(operatewidget);
  305. waffle = new Waffle(1, operatewidget);
  306. layout->setContentsMargins(0, 0, 0, 0);
  307. layout->addWidget(waffle);
  308. operatewidget->setLayout(layout);
  309. operatewidget->setFixedSize(476, 476);
  310. }
  311. // 料盒
  312. void MainAndSecondaryCamerasWnd::MaterialBoxWidget(int flag) {
  313. QWidget *operatewidget = ui->LeftOperatewidget;
  314. if (flag == 1) {
  315. operatewidget = ui->RightOperatewidget;
  316. }
  317. QVBoxLayout *layout = new QVBoxLayout(operatewidget);
  318. materialbox = new MaterialBox(1, operatewidget);
  319. layout->setContentsMargins(0, 0, 0, 0);
  320. layout->addWidget(materialbox);
  321. operatewidget->setLayout(layout);
  322. operatewidget->setFixedSize(476, 476);
  323. }
  324. void MainAndSecondaryCamerasWnd::on_LeftZoomUpButton_clicked()
  325. {
  326. Left_scaleFactor *= 1.1;
  327. int newWidth = Left_currentPixmap.width() * Left_scaleFactor;
  328. int newHeight = Left_currentPixmap.height() * Left_scaleFactor;
  329. QPixmap scaledImage = Left_currentPixmap.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  330. ui->LeftOperatewidget->setPixmap(scaledImage);
  331. double percentage = (Left_scaleFactor * 100);
  332. QString percentageStr = QString::number((int)percentage);
  333. ui->Leftlabel_Percentage->setText(QString("%1%").arg(percentageStr));
  334. }
  335. void MainAndSecondaryCamerasWnd::on_RightZoomUpButton_clicked()
  336. {
  337. Right_scaleFactor *= 1.1;
  338. int newWidth = Right_currentPixmap.width() * Right_scaleFactor;
  339. int newHeight = Right_currentPixmap.height() * Right_scaleFactor;
  340. QPixmap scaledImage = Right_currentPixmap.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  341. ui->RightOperatewidget->setPixmap(scaledImage);
  342. double percentage = (Right_scaleFactor * 100);
  343. QString percentageStr = QString::number((int)percentage);
  344. ui->Rightlabel_Percentage->setText(QString("%1%").arg(percentageStr));
  345. }
  346. void MainAndSecondaryCamerasWnd::on_LeftZoomOutButton_clicked()
  347. {
  348. double Left_newScaleFactor = Left_scaleFactor * 0.9;
  349. if (Left_newScaleFactor >= 1.0) {
  350. Left_scaleFactor = Left_newScaleFactor;
  351. } else {
  352. Left_scaleFactor = 1.0;
  353. }
  354. int newWidth = Left_currentPixmap.width() * Left_scaleFactor;
  355. int newHeight = Left_currentPixmap.height() * Left_scaleFactor;
  356. QPixmap scaledImage = Left_currentPixmap.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  357. ui->LeftOperatewidget->setPixmap(scaledImage);
  358. double percentage = (Left_scaleFactor * 100);
  359. QString percentageStr = QString::number((int)percentage);
  360. ui->Leftlabel_Percentage->setText(QString("%1%").arg(percentageStr));
  361. }
  362. void MainAndSecondaryCamerasWnd::on_RightZoomOutButton_clicked()
  363. {
  364. double Right_newScaleFactor = Right_scaleFactor * 0.9;
  365. if (Right_newScaleFactor >= 1.0) {
  366. Right_scaleFactor = Right_newScaleFactor;
  367. } else {
  368. Right_scaleFactor = 1.0;
  369. }
  370. int newWidth = Right_currentPixmap.width() * Right_scaleFactor;
  371. int newHeight = Right_currentPixmap.height() * Right_scaleFactor;
  372. QPixmap scaledImage = Right_currentPixmap.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  373. ui->RightOperatewidget->setPixmap(scaledImage);
  374. double percentage = (Right_scaleFactor * 100);
  375. QString percentageStr = QString::number((int)percentage);
  376. ui->Rightlabel_Percentage->setText(QString("%1%").arg(percentageStr));
  377. }
  378. void MainAndSecondaryCamerasWnd::wheelEvent(QWheelEvent *event)
  379. {
  380. if (ui->LeftOperatewidget->rect().contains(ui->LeftOperatewidget->mapFromGlobal(event->globalPosition().toPoint()))) {
  381. if (event->angleDelta().y() > 0) {
  382. Left_scaleFactor *= 1.1;
  383. } else {
  384. double Left_newScaleFactor = Left_scaleFactor * 0.9;
  385. if (Left_newScaleFactor >= 1.0) {
  386. Left_scaleFactor = Left_newScaleFactor;
  387. } else {
  388. Left_scaleFactor = 1.0;
  389. }
  390. }
  391. int newWidth_left = Left_currentPixmap.width() * Left_scaleFactor;
  392. int newHeight_left = Left_currentPixmap.height() * Left_scaleFactor;
  393. QPixmap scaledImage_left = Left_currentPixmap.scaled(newWidth_left, newHeight_left, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  394. // ui->LeftOperatewidget->setPixmap(scaledImage_left);
  395. // ui->LeftOperatewidget->setPixmapAndPoint(scaledImage_left);
  396. double percentage_left = Left_scaleFactor * 100;
  397. QString percentageStr_left = QString::number((int)percentage_left);
  398. ui->Leftlabel_Percentage->setText(QString("%1%").arg(percentageStr_left));
  399. }
  400. if (ui->RightOperatewidget->rect().contains(ui->RightOperatewidget->mapFromGlobal(event->globalPosition().toPoint()))) {
  401. if (event->angleDelta().y() > 0) {
  402. Right_scaleFactor *= 1.1;
  403. } else {
  404. double Right_newScaleFactor = Right_scaleFactor * 0.9;
  405. if (Right_newScaleFactor >= 1.0) {
  406. Right_scaleFactor = Right_newScaleFactor;
  407. } else {
  408. Right_scaleFactor = 1.0;
  409. }
  410. }
  411. int newWidth = Right_currentPixmap.width() * Right_scaleFactor;
  412. int newHeight = Right_currentPixmap.height() * Right_scaleFactor;
  413. QPixmap scaledImage = Right_currentPixmap.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
  414. // ui->RightOperatewidget->setPixmap(scaledImage);
  415. // ui->RightOperatewidget->setPixmapAndPoint(scaledImage);
  416. double percentage = Right_scaleFactor * 100;
  417. QString percentageStr = QString::number((int)percentage);
  418. ui->Rightlabel_Percentage->setText(QString("%1%").arg(percentageStr));
  419. }
  420. if (ui->scrollArea->rect().contains(ui->scrollArea->mapFromGlobal(event->globalPos()))) {
  421. // 获取 QScrollArea 的横向滚动条
  422. QScrollBar *scrollBar = ui->scrollArea->horizontalScrollBar();
  423. // 根据滚轮滚动方向改变滚动条的值
  424. if (event->angleDelta().y() > 0) {
  425. scrollBar->setValue(scrollBar->value() - 50);
  426. } else {
  427. scrollBar->setValue(scrollBar->value() + 50);
  428. }
  429. }
  430. QMainWindow::wheelEvent(event);
  431. }
  432. void MainAndSecondaryCamerasWnd::showEvent(QShowEvent *event) {
  433. isUpdatingSettings = false;
  434. QMainWindow::showEvent(event);
  435. loadSettings();
  436. isUpdatingSettings = true;
  437. }
  438. void MainAndSecondaryCamerasWnd::hideEvent(QHideEvent *event) {
  439. isUpdatingSettings = false;
  440. QMainWindow::hideEvent(event);
  441. }
  442. void MainAndSecondaryCamerasWnd::showAndHide(){
  443. if(isShow == true){
  444. isShow = false;
  445. }else{
  446. isShow = true;
  447. }
  448. QList<QLineEdit*> lineEdits = {
  449. ui->RedLightlineEdit_2, ui->GreenLightlineEdit_5,
  450. ui->BlueLightlineEdit_2, ui->DotLightlineEdit_2
  451. };
  452. QList<QSlider*> sliders = {
  453. ui->RedLightverticalSlider_2, ui->GreenLightverticalSlider_5,
  454. ui->BlueLightverticalSlider, ui->DotLightverticalSlider_2
  455. };
  456. QList<QProgressBar*> progressBar = {
  457. ui->RedLightprogressBar_2,ui->GreenLightprogressBar_5,
  458. ui->BlueLightprogressBar_2,ui->DotLightprogressBar_2
  459. };
  460. if(isShow == true){
  461. for (QLineEdit* lineEdit : lineEdits) {
  462. lineEdit->show();
  463. }
  464. for (int i = 0; i < sliders.size(); ++i) {
  465. sliders[i]->show();
  466. }
  467. for (int i = 0; i < progressBar.size(); ++i) {
  468. progressBar[i]->show();
  469. }
  470. ui->BlueLight->show();
  471. ui->RedLight->show();
  472. ui->DotLight->show();
  473. ui->GreenLight->show();
  474. ui->BlueLightlabel_2->show();
  475. ui->RedLightlabel_2->show();
  476. ui->DotLightlabel_2->show();
  477. ui->GreenLightlabel_5->show();
  478. }else{
  479. for (QLineEdit* lineEdit : lineEdits) {
  480. lineEdit->hide();
  481. }
  482. for (int i = 0; i < sliders.size(); ++i) {
  483. sliders[i]->hide();
  484. }
  485. for (int i = 0; i < progressBar.size(); ++i) {
  486. progressBar[i]->hide();
  487. }
  488. ui->BlueLight->hide();
  489. ui->RedLight->hide();
  490. ui->DotLight->hide();
  491. ui->GreenLight->hide();
  492. ui->BlueLightlabel_2->hide();
  493. ui->RedLightlabel_2->hide();
  494. ui->DotLightlabel_2->hide();
  495. ui->GreenLightlabel_5->hide();
  496. }
  497. }