Bonjour à tous,
j'aurais une question un peu bête mais pour laquelle je n'arrive pas à trouver de réponse malgré la documentation Qt. (Je tiens à préciser que je suis débutant sous Qt)
Voilà j'ai deux boutons de types QAction et je voudrais que lorsque un bouton est sélectionné l'autre se désélectionne et vice-versa
J'ai regardé la documentation je vois bien qu'il faut utilisé setCheckable ou setChecked mais impossible de le mettre en oeuvre .....
voici le bout de code de la MainWindow ou se trouve ces deux boutons ...
.cpp
.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ //déclaration de la barre d'outils QToolBar * toolBar = addToolBar("Actions"); //Déclaration des deux boutons et ajout dans une barre d'outils actionBouton1 = new QAction("bouton1",this); actionBouton1->setCheckable(true); toolBar->addAction(actionBouton1); actionBouton2 = new QAction("bouton2",this); actionBouton2->setCheckable(true); toolBar->addAction(actionBouton2); //connection des deux boutons connect(actionBouton1, SIGNAL(toggled(bool)), this, SLOT(activeBouton1(bool))); connect(actionBouton2, SIGNAL(toggled(bool)), this, SLOT(activeBouton2(bool))); }
Le problème étant que lorsque bouton1 est appuyé si je clique sur bouton2 alors les deux sont appuyés et je dois donc appuyer sur bouton1 pour le décocher....le but serait que si bouton1 est enfoncé si je clique sur bouton2 alors bouton1 se déselectionne automatiquement ...mais je n'arrive pas à le mettre en place...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class MainWindow : public QMainWindow{ Q_OBJECT public: explicit MainWindow(QWidget *parent=0); private: QAction *actionBouton1; QAction *actionBouton2; }; #endif
Si vous avez besoin de plus d'explication n'hésitez pas..
Merci par avance
En fait j'ai trouvé il faut utiliser QActionGroup
Partager