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
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)));
}
.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
 
class MainWindow : public QMainWindow{
 
    Q_OBJECT
 
    public:
        explicit MainWindow(QWidget *parent=0);
 
    private:
       QAction *actionBouton1;
       QAction *actionBouton2;
 
};
#endif
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...

Si vous avez besoin de plus d'explication n'hésitez pas..

Merci par avance


En fait j'ai trouvé il faut utiliser QActionGroup