Bonjour à tous,
Je débute en programmation c++ et sur Qt et j'ai du mal à voir mon erreur...
Je cherche à afficher un bouton "connexion" sur une fenêtre "window1" que je crée.
Dans cette fenêtre, j'affiche aussi des champs "user" et "mot de passe" semblable à une page de connexion et je souhaiterai être redirigé vers une autre fenêtre lorsque je clique sur le bouton "connexion". Avant cela, j'aimerai tout de même que ce bouton s'affiche ! Les champs user et mot de passe s'affichent bien comme je le souhaite mais pas ce bouton.
Voici mon .h et mon .cpp :
window1.h
window1.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
28
29
30
31 #ifndef WINDOW1_H #define WINDOW1_H #include <QApplication> #include <QWidget> #include <QPushButton> #include <QLineEdit> #include <QFormLayout> #include <QVBoxLayout> #include "window2.h" class window1 : public QWidget { public: window1(); private: QComboBox *user; QLineEdit *mdp; QFormLayout *formLayout; QVBoxLayout *layoutPrincipal; QPushButton *boutonQuitter; }; #endif // WINDOW1_H
A priori, pas d'erreur de compilation mais un message apparait :
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
44
45
46
47
48
49 #include "window1.h" #include <QApplication> #include <QWidget> #include <QPushButton> #include <QLineEdit> #include <QFormLayout> #include <QVBoxLayout> #include "window2.h" window1::window1() : QWidget() { setFixedSize(400, 250); QWidget fenetre; // Création du layout de formulaire et de ses widgets user = new QComboBox(this); user->addItem("Choix user"); user->addItem("User1"); user->addItem("User2"); user->addItem("User3"); mdp = new QLineEdit(this); formLayout = new QFormLayout(this); formLayout->addRow("&Utilisateur", user); formLayout->addRow("&Mot de passe", mdp); // Création du layout principal de la fenêtre (vertical) layoutPrincipal = new QVBoxLayout(this); layoutPrincipal->addLayout(formLayout); // Ajout du layout de formulaire boutonQuitter = new QPushButton("&Connexion", this); boutonQuitter->move(110, 50); // QDialog fenetre2 (this); QWidget::connect(boutonQuitter, SIGNAL(clicked()),this, SLOT(exec())); QWidget::connect(boutonQuitter, SIGNAL(clicked()), this, SLOT(quit())); layoutPrincipal->addWidget(boutonQuitter); // Ajout du bouton fenetre.setLayout(layoutPrincipal); }
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout::addChildLayout: layout "" already has a parent
QObject::connect: No such slot QWidget::exec() in ..\test\window1.cpp:42
QObject::connect: No such slot QWidget::quit() in ..\test\window1.cpp:44
Voila ce qui est affiché lorsque je compile :
Mais surtout ce que je voudrai faire (je pense que cela peut être utile de vous montrer) :
En espérant bénéficier de votre clairvoyance..
Merci d'avance pour votre temps![]()
Ps: j'ai suivi un cours sur le c++ et qt sur Open Classroom pour effectuer ce code mais d'après les développeurs d'OC, il est fortement déconseillé de suivre ce cours car il n'est pas du tout complet. Mais ça, je ne l'ai lu qu'après..![]()
Partager