Bonjour,
Ma question est très simple : comment afficher un texte dans un label seulement si deux boutons sont activés ?
Merci d'avance de votre aide![]()
Bonjour,
Ma question est très simple : comment afficher un texte dans un label seulement si deux boutons sont activés ?
Merci d'avance de votre aide![]()
Salut
D'abord, il faut que tu précises : quel type de bouton? Et qu'entend tu par "activé"
Ensuite, le principe est simple : il faut tester deux booléens testant chacun l'état d'un des boutons. Si les deux boolénens sont à true, tu appel setVisible() (ou setVisible(true) ), sinon, tu appelles setVisible(false).
Ou, plus simplement encore, tu fais tout d'une traite, sous la forme de setVisible(stateButton1 && stateButton2) (où stateButton1 et stateButton2 indiquent respectivement l'"activation" du premier et du deuxième bouton )
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Salut,
Désolé du manque d'info.
Je m’explique j'ai deux boutons l'un me permet de connecter un port série l'autre un serveur. (Les boutons sont simplement mis en place avec QDesign).
Par activé, je veux dire que seulement si le port série et le serveur sont connectée le label affiche ON.
J'espère être compréhensible.
Merci d'avance.
Mais quel genre de boutons
Des QPushButtonsdes QCheckbox
des QRadioButton
Ce sont trois possibilités d'éléments qui peuvent être typiquement assimilés à des boutons, mais leur utilisation sera totalement différente.
Pour les QPushButtons "classiques", il s'agira de créer un slot réagissant au click de manière à modifier la valeur d'un booléen (et bien sur, de choisir un booléen différent pour chaque bouton). Et ce sont les deux booléens en question qui devront servir pour définir si ton QLabel (ou ton QText) est visible ou non.
Pour les deux autres, tu peux simplement interroger leur propriété isChecked() qui permet de savoir s'il sont cochés ou non (true -->ils sont cochés; false-->ils ne sont pas cochés)
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
En effet se sont des QPushButton.
Aurais-tu un exemple s'il te plait ?
J'ai essayé ça fonctionne seulement si je clique sur un bouton sa me lance le code je voudrai que ça lance le code seulement si j'ai cliquer sur les deux boutons
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void CConsole :: onClicked() { ui->label->setText("ON"); } void CConsole :: test() { button1 =false; butoon2 =false; connect(ui->pushButton_Connexion,SIGNAL(clicked()),this,SLOT(onClicked())); connect(ui->pushButton_Co_Server,SIGNAL(clicked()),this,SLOT(onClicked())); }
A vrai dire, je pensais plutôt à quelque chose comme
Ici, j'ai joué la carte de la souplesse en permettant de cliquer sur button1 ou sur button2 en premier lieu. D'autres solutions auraient pu être envisagées
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
20
21
22
23 class MaClasse{ public: MaClasse(/* ... */) : button1Clicked_{false},button2Clicked{false}{} privateSlot: void oneClick(){ // connecté au clique de button1 button1Clicked_=true; showLabel(); } void oneClick(){ // connecté au clique de button2 button2Clicked_=true; showLabel(); } private: void showLabel(){ label_->setVisible(button1Clicked_ && button2Clicked_); } bool button1Clicked_; bool button2Clicked_; QLabel * label; QPushButton * button1; QPushButton * button2; };![]()
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Partager