Bonsoir,
voila, mon probleme est le suivant :
j'ai 5 fenetres : ma fenetre principale, une fenetre modale, une fenetre modale cree avec QtDesigner, une fenetre non modale et une fenetre non modale cree avec QtDesigner.
J'ai cree une classe qtMesParametres pour pouvoir enregistrer param1 a 4 depuis l'une des quatres fenetres.
Dans chacune de ces fenetres, j'ai placer (entre autre) un lineEditParam1 a 4 pour inscrire le chiffre a sauvegarder et un QPushButton *param3Button a 4.
Je voudrais afficher les 4 valeurs sauvegardees quand j'ouvre une des quatres fenetres, modifier ces valeurs et les enregistrer de nouveaux graces aux pushbutton.
voila ce que j'ai fais (et je bloque)
mon qtMesParametres.h :
mon qtMesParametres.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 #ifndef QTMESPARAMETRES_H #define QTMESPARAMETRES_H class QtMesParametres { public: QtMesParametres(); void validParam1(); void validParam2(); void validParam3(); void validParam4(); int param1, param2, param3, param4; private : }; #endif
mon qtParamModal.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 #include "qtMesParametres.h" QtMesParametres::QtMesParametres() { } void QtMesParametres::validParam1() { } void QtMesParametres::validParam2() { } void QtMesParametres::validParam3() { } void QtMesParametres::validParam4() { }
mon mon qtParamModal.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
27 #ifndef QTPARAMMODAL_H #define QTPARAMMODAL_H #include <QDialog> QT_BEGIN_NAMESPACE class QLineEdit; class QLabel; QT_END_NAMESPACE class QtParamModal : public QDialog { Q_OBJECT public: QtParamModal(QWidget *parent = 0); private slots: private: QLineEdit *lineEditParam1, *lineEditParam2, *lineEditParam3, *lineEditParam4; QLabel *textLabelParam1, *textLabelParam2, *textLabelParam3, *textLabelParam4; QPushButton *param1Button, *param2Button, *param3Button, *param4Button; }; #endif // QTPARAMMODAL_H
et j'ai le(s) message(s) suivant :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 #include <QtGui> #include "qtParamModal.h" #include "qtMesParametres.h" QtParamModal::QtParamModal(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("Fenêtre modale")); // met titre de la fenetre setWindowIcon(QIcon(":/Ressources/R2D2.ico")); // Icone de la fenetre declaré dans le fichier resource. QPushButton *param1Button = new QPushButton(tr("&Valider Param1")); connect(param1Button, SIGNAL(clicked()), this, SLOT(QtMesParametres::validParam1())); textLabelParam1 = new QLabel(tr("Param1 :")); lineEditParam1 = new QLineEdit(); QPushButton *param2Button = new QPushButton(tr("&Valider Param2")); connect(param2Button, SIGNAL(clicked()), this, SLOT(QtMesParametres::validParam2())); textLabelParam2 = new QLabel(tr("Param2 :")); lineEditParam2 = new QLineEdit(); QPushButton *param3Button = new QPushButton(tr("&Valider Param3")); connect(param3Button, SIGNAL(clicked()), this, SLOT(QtMesParametres::validParam3())); textLabelParam3 = new QLabel(tr("Param3 :")); lineEditParam3 = new QLineEdit(); QPushButton *param4Button = new QPushButton(tr("&Valider Param4")); connect(param4Button, SIGNAL(clicked()), this, SLOT(QtMesParametres::validParam4())); textLabelParam4 = new QLabel(tr("Param4 :")); lineEditParam4 = new QLineEdit(); QGridLayout *mainLayout = new QGridLayout; mainLayout->setSizeConstraint(QLayout::SetNoConstraint); mainLayout->addWidget(textLabelParam1, 0, 0); mainLayout->addWidget(lineEditParam1, 0, 1); mainLayout->addWidget(param1Button, 0, 2); mainLayout->addWidget(textLabelParam2, 1, 0); mainLayout->addWidget(lineEditParam2, 1, 1); mainLayout->addWidget(param2Button, 1, 2); mainLayout->addWidget(textLabelParam3, 2, 0); mainLayout->addWidget(lineEditParam3, 2, 1); mainLayout->addWidget(param3Button, 2, 2); mainLayout->addWidget(textLabelParam4, 3, 0); mainLayout->addWidget(lineEditParam4, 3, 1); mainLayout->addWidget(param4Button, 3, 2); setLayout(mainLayout); }1/ Est-ce que ma classe qtMesParametres est correcte.Object::connect: No such slot QtParamModal::QtMesParametres::validParam1() in qtParamModal.cpp:13
2/ que doisje modifier danspour que cela marche.connect(param1Button, SIGNAL(clicked()), this, SLOT(QtMesParametres::validParam1()));
3/ comment enregistrer param1 a 4 dans qtMesParametres et les afficher a l'ouverture de chaque fenetre.
je joint le programme complet en piece jointe
Cordialement
Partager