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

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
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
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);
 
}
A priori, pas d'erreur de compilation mais un message apparait :

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 :

Nom : sortieapp.PNG
Affichages : 225
Taille : 14,9 Ko

Mais surtout ce que je voudrai faire (je pense que cela peut être utile de vous montrer) :

Nom : sortieapp2.PNG
Affichages : 220
Taille : 89,2 Ko

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..