mainwindow.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include "handle/seriport/serialbasehandle.h"
  4. MainWindow::MainWindow(QWidget *parent)
  5. : QMainWindow(parent)
  6. , ui(new Ui::MainWindow)
  7. {
  8. ui->setupUi(this);
  9. connect(ui->widgetLogin,&LoginForm::loginFinish,this,&MainWindow::backMenu);
  10. connect(ui->pageSelectValue,&SelectValueForm::back,this,&MainWindow::backMenu);
  11. // connect(ui->pageAutoPack,&AutoPackForm::back,this,&MainWindow::backMenu);
  12. connect(ui->pagePackDetail,&PackDetailForm::back,this,&MainWindow::backMenu);
  13. connect(ui->pageSettings,&SettingsForm::back,this,&MainWindow::backMenu);
  14. connect(ui->pageDingZhong,&FixedWeightPackForm::back,this,&MainWindow::backMenu);
  15. connect(ui->pageBuDing,&UncertainWeightPackForm::back,this,&MainWindow::backMenu);
  16. connect(ui->pageSelectValue,&SelectValueForm::selectProject,this,&MainWindow::pageStatusChange);
  17. ui->stackedWidget->setCurrentWidget(ui->pageLogin);
  18. // connect(ui->pageAutoPack,&AutoPackForm::djmbbox,this,&MainWindow::changedjmb);
  19. connect(ui->widgetLogin,&LoginForm::SettingsClicked,this,&MainWindow::changeToSettings);
  20. // connect(ui->actionQuanping,&QAction::trigger,[this](){this->showFullScreen();});
  21. connect(ui->actionMax,&QAction::trigger,[this](){this->showMaximized();});
  22. database.openDB();
  23. database.createDetailsDatabase();
  24. database.createProductDatabase();
  25. ui->checkBox->hide();
  26. ui->dingzhongButton->setChecked(true);
  27. }
  28. MainWindow::~MainWindow()
  29. {
  30. delete ui;
  31. }
  32. void MainWindow::on_pushDingZHong_clicked()
  33. {
  34. ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
  35. ui->pageSelectValue->getInfo(1,20);
  36. ui->pageSelectValue->setStatus(2);
  37. }
  38. void MainWindow::on_pushBuDingZhong_clicked()
  39. {
  40. ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
  41. ui->pageSelectValue->getInfo(1,20);
  42. ui->pageSelectValue->setStatus(3);
  43. }
  44. void MainWindow::on_pushAuto_clicked()
  45. {
  46. ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
  47. ui->pageSelectValue->getInfo(1,20);
  48. ui->pageSelectValue->setStatus(1);
  49. }
  50. void MainWindow::on_pushList_clicked()
  51. {
  52. ui->stackedWidget->setCurrentWidget(ui->pagePackDetail);
  53. }
  54. void MainWindow::on_pushConfig_clicked()
  55. {
  56. changeToSettings();
  57. }
  58. void MainWindow::pageStatusChange(const ProjectInfo & info, int status)
  59. {
  60. switch (status) {
  61. case 1:
  62. ui->stackedWidget->setCurrentWidget(ui->pageAutoPack);
  63. // ui->pageAutoPack->setProInfo(info);
  64. // ui->pageAutoPack->init();
  65. break;
  66. case 2:
  67. ui->stackedWidget->setCurrentWidget(ui->pageDingZhong);
  68. ui->pageDingZhong->setProInfo(info);
  69. ui->pageDingZhong->init();
  70. break;
  71. case 3:
  72. ui->stackedWidget->setCurrentWidget(ui->pageBuDing);
  73. ui->pageBuDing->setProInfo(info);
  74. ui->pageBuDing->init();
  75. break;
  76. }
  77. }
  78. void MainWindow::changeToSettings()
  79. {
  80. ui->stackedWidget->setCurrentWidget(ui->pageSettings);
  81. }
  82. void MainWindow::backMenu()
  83. {
  84. int user = GlobalInfo::this_()->user().userId;
  85. if(user==0){
  86. ui->stackedWidget->setCurrentWidget(ui->pageLogin);
  87. return;
  88. }
  89. // ui->stackedWidget->setCurrentWidget(ui->pageMain);
  90. ui->stackedWidget->setCurrentWidget(ui->pageAutoPack);
  91. if(!rtuport.isStart()){
  92. auto go = GlobalInfo::this_();
  93. ConfigInfo info;
  94. info.Start();
  95. auto handle = SerialBaseHandle::getHandler(info.portType,"");
  96. rtuport.start(info.portName,info.portBaudRate.toInt(),handle);
  97. on_dingzhongButton_clicked();
  98. }
  99. }
  100. void MainWindow::changedjmb(QImage image)
  101. {
  102. ui->stackedWidget->setCurrentWidget(ui->pageTest);
  103. ui->djmb->setPixmap(QPixmap::fromImage(image));
  104. }
  105. void MainWindow::on_dingzhongButton_clicked()
  106. {
  107. ui->stackedWidget_2->setCurrentWidget(ui->dingzhong);
  108. ui->dingzhong->init();
  109. }
  110. void MainWindow::on_budingButton_clicked()
  111. {
  112. ui->stackedWidget_2->setCurrentWidget(ui->buding);
  113. ui->buding->init();
  114. }