From 22af522f5390c2dde568101236312d39cca7b221 Mon Sep 17 00:00:00 2001 From: Swistusmen Date: Tue, 27 Apr 2021 20:25:46 +0200 Subject: [PATCH 1/2] fixed slot-signals --- src/ButtonStates.h | 9 +++++++++ src/QMainInterface.cpp | 44 ++++++++++++++++++++++++++++++++++++------ src/QMainInterface.h | 31 +++++++++++++++-------------- 3 files changed, 64 insertions(+), 20 deletions(-) create mode 100644 src/ButtonStates.h diff --git a/src/ButtonStates.h b/src/ButtonStates.h new file mode 100644 index 0000000..df30ebf --- /dev/null +++ b/src/ButtonStates.h @@ -0,0 +1,9 @@ +/* +Library with whole the buttons used in my interfaces +*/ + +enum class AppButton { + None, + SwitchToAlgorithms, + SwitchToData +}; \ No newline at end of file diff --git a/src/QMainInterface.cpp b/src/QMainInterface.cpp index 44825cc..4faa887 100644 --- a/src/QMainInterface.cpp +++ b/src/QMainInterface.cpp @@ -1,17 +1,49 @@ #include "QMainInterface.h" #include +#include QMainInterface::QMainInterface(QWidget* parent) : QWidget(parent) { //setFixedSize(366, 300); ui.setupUi(this); - ui.label->setParent(this); - ui.algoInterface->setParent(this); - connect(this, SIGNAL(algoWasClicked()), - this, SLOT(changeTitle(QString))); - connect(this, SIGNAL(this->dataWasClicked()), - this, SLOT(changeTitle(QString))); + ui.algoInterface->setCheckable(true); + ui.creativInterface->setCheckable(true); + //connect(this, SIGNAL(QMainInterface::algoWasClicked()), + // this, SLOT(QMainInterface::changeTitle(QString))); + connect(ui.algoInterface, &QPushButton::pressed, + this, &QMainInterface::changeTitle); + connect(ui.creativInterface, &QPushButton::pressed, + this, &QMainInterface::changeTitle); //initializing main image } + +//very temporarly- when ui will be finished there will be no need to use such a circus solution, it's for test +//and until all the ui will be created +AppButton QMainInterface::WhichButton() { + auto buttons = ui.interfaceButtons->buttons(); + const int noButtons = buttons.size(); + int destination = -1; + for (int i = 0; i < noButtons; i++) + { + if (buttons.at(i)->isChecked() == true) + { + destination = i; + break; + } + buttons.at(i)->setChecked(false); + } + for (int i = 0; i < noButtons; i++) + { + buttons.at(i)->setChecked(false); + } + if (destination == -1) + return AppButton::None; + if (buttons.at(destination)->text() == "Data") + return AppButton::SwitchToData; + else if (buttons.at(destination)->text() == "algorithms") + return AppButton::SwitchToAlgorithms; + else + return AppButton::None; +} diff --git a/src/QMainInterface.h b/src/QMainInterface.h index 45049fa..2e592fe 100644 --- a/src/QMainInterface.h +++ b/src/QMainInterface.h @@ -4,7 +4,7 @@ #include #include "../build/src/ui_QMainInterface.h" #include - +#include "ButtonStates.h" class QPushButton; class QMainInterface : public QWidget { @@ -14,25 +14,28 @@ class QMainInterface : public QWidget { explicit QMainInterface(QWidget* parent=0); signals: - void algoWasClicked() { - emit(test_1); - }; - void dataWasClicked() { - emit(test_2); - } + public slots: - void changeTitle(QString display) { - ui.label->setText(display); + void changeTitle() { + auto text = this->WhichButton(); + switch (text) { + case AppButton::None : { + + }break; + case AppButton::SwitchToAlgorithms: { + ui.label->setText("Algorithms"); + }break; + case AppButton::SwitchToData: { + ui.label->setText("Data"); + }break; + } } private: //variables Ui::Form ui; - QString test_1="Geometrical Algorithms"; - QString test_2="Data"; - QString to_display = "Geometrical Algorithms"; - + std::vector> buttons{ {"Algorithms",0},{"Data",0} }; private: //methods - + AppButton WhichButton(); }; #endif From 23ab986f4ddefb5a576c36c151f3596d9377e1db Mon Sep 17 00:00:00 2001 From: Swistusmen Date: Tue, 27 Apr 2021 20:56:16 +0200 Subject: [PATCH 2/2] different layouts --- src/QMainInterface.cpp | 1 + src/QMainInterface.h | 2 + src/QMainInterface.ui | 146 ++++++++++++++++++++++++----------------- 3 files changed, 89 insertions(+), 60 deletions(-) diff --git a/src/QMainInterface.cpp b/src/QMainInterface.cpp index 4faa887..1ab193c 100644 --- a/src/QMainInterface.cpp +++ b/src/QMainInterface.cpp @@ -15,6 +15,7 @@ QMainInterface::QMainInterface(QWidget* parent) : QWidget(parent) this, &QMainInterface::changeTitle); connect(ui.creativInterface, &QPushButton::pressed, this, &QMainInterface::changeTitle); + //initializing main image } diff --git a/src/QMainInterface.h b/src/QMainInterface.h index 2e592fe..4b8cee3 100644 --- a/src/QMainInterface.h +++ b/src/QMainInterface.h @@ -24,9 +24,11 @@ public slots: }break; case AppButton::SwitchToAlgorithms: { ui.label->setText("Algorithms"); + ui.stackedWidget->setCurrentIndex(1); }break; case AppButton::SwitchToData: { ui.label->setText("Data"); + ui.stackedWidget->setCurrentIndex(0); }break; } } diff --git a/src/QMainInterface.ui b/src/QMainInterface.ui index 42b6f8e..2ceab1c 100644 --- a/src/QMainInterface.ui +++ b/src/QMainInterface.ui @@ -6,33 +6,18 @@ 0 0 - 482 - 418 + 597 + 462 Form - - - - 150 - 370 - 166 - 25 - - - - - - - - - 170 - 20 + 230 + 10 131 21 @@ -41,56 +26,97 @@ Geometrical Algorithms - - - - 0 - 50 - 481 - 301 - - - - - - - ../assets/russel.jpg - - - + - 150 - 370 - 75 - 23 + 220 + 400 + 164 + 54 - - Qt::LeftToRight - - - Data - - - interfaceButtons - + + + + + + + Qt::LeftToRight + + + Data + + + interfaceButtons + + + + + + + algorithms + + + interfaceButtons + + + + + + - + - 230 - 370 - 79 - 23 + 10 + 50 + 581 + 331 - - algorithms - - - interfaceButtons - + + + + + 10 + 10 + 71 + 51 + + + + + + + ../assets/russel.jpg + + + + + + 270 + 20 + 304 + 190 + + + + + + + + + 270 + 130 + 111 + 71 + + + + Siemka + + +