Bonjour,
je débute en programmation QT.
Je commence par quelques exemples simples pour voir si je maitrise les éléments de l'application finale avant de me lancer dans un programme plus ambitieux.
Je bloque sur un problème qui devrait être simple: je cére une fenêtre contanant un qChecbox et un bouton et je souhaiterais que qand je cohe le qCheckbox, le bouton soit désactivé. Voci ce que j'ai tenté :
fichier main.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
 
#include <QApplication>
#include <QtGui>
#include "FenOutil.h"
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
 
    FenOutil F_outil;
    F_outil.show();
 
 
    return app.exec();
}
fichier FenOutil.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
20
21
22
23
24
 
#ifndef HEADER_FENOUTIL
#define HEADER_FENOUTIL
 
#include <QApplication>
#include <QtGui>
 
 
 
class FenOutil : public QWidget
{
  Q_OBJECT
	public:
		FenOutil();
 
  public slots:
    void cliquer(int valeur);
 
	private:
    QPushButton *bouton;
    QCheckBox *check;
    QGridLayout *layout;
};
#endif
Fichier FenOutil.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
20
21
22
23
24
25
26
#include "FenOutil.h"
 
FenOutil::FenOutil() : QWidget()
{
 
//création des widgets
  QPushButton *bouton=new QPushButton("Bouton",this);
  QCheckBox *check=new QCheckBox(this);
  QGridLayout *layout = new QGridLayout;
 
//création du layout
  layout->addWidget(check,0,0);
  layout->addWidget(bouton,0,1,1,2);
  setLayout(layout);
 
//gestion des signaux
  QObject::connect(check, SIGNAL(stateChanged(int)), this, SLOT(cliquer(int)));
 
 
}
 
void FenOutil::cliquer(int valeur)
{
  if (valeur==0) bouton->setEnabled(false);
  else bouton->setEnabled(true);
}
je n'ai pas de soucis à la compilation, mais quand je clique surle qCheckbox, la fenêtre plante.
Auriez-vous une piste pour ce problème

D'avance merci