Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3.  
  4.  
  5. static QPalette red, green;
  6. static int index_left, index_center, index_right;
  7.  
  8. MainWindow::MainWindow(QWidget *parent)
  9.     : QMainWindow(parent)
  10.     , ui(new Ui::MainWindow)
  11. {
  12.     ui->setupUi(this);
  13.     ///init
  14.     index_left = 0;
  15.     index_center = 0;
  16.     index_right = 0;
  17.     red.setColor(QPalette::Background, QColor(Qt::red));
  18.     green.setColor(QPalette::Background, QColor(Qt::green));
  19.     ///init
  20.     result();
  21. }
  22.  
  23. MainWindow::~MainWindow()
  24. {
  25.     delete ui;
  26. }
  27.  
  28. void MainWindow::result()
  29. {
  30.     ui->right_operator->show();
  31.     switch (index_center)
  32.     {
  33.     case 0:
  34.         if (index_left && index_right) this->setPalette(green);
  35.         else this->setPalette(red);
  36.         break;
  37.     case 1:
  38.         if (!index_left && !index_right) this->setPalette(red);
  39.         else this->setPalette(green);
  40.         break;
  41.     case 2:
  42.         ui->right_operator->hide();
  43.         if (index_left) this->setPalette(green);
  44.         else this->setPalette(red);
  45.         break;
  46.     case 3:
  47.         if (index_left && !index_right) this->setPalette(red);
  48.         else this->setPalette(green);
  49.         break;
  50.     case 4:
  51.         if ((index_left && index_right) || (!index_left && !index_right)) this->setPalette(green);
  52.         else this->setPalette(red);
  53.         break;
  54.     case 5:
  55.         if ((index_left && !index_right) || (!index_left && index_right)) this->setPalette(green);
  56.         else this->setPalette(red);
  57.         break;
  58.     }
  59. }
  60.  
  61. void MainWindow::on_left_operator_activated(int index)
  62. {
  63.     index_left = index;
  64.     result();
  65. }
  66.  
  67. void MainWindow::on_right_operator_activated(int index)
  68. {
  69.     index_right = index;
  70.     result();
  71. }
  72.  
  73. void MainWindow::on_operators_activated(int index)
  74. {
  75.     index_center = index;
  76.     result();
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement