On commence le fichier comme d'habitude :
1
|
#include "FenetreTest.h"
|
On écrit le constructeur :
1
2
3
4
5
|
FenetreTest::FenetreTest()
:QMainWindow()
{
initialisationFenetreTest();
}
|
Le destructeur :
1
2
3
|
FenetreTest::~FenetreTest(){
}
|
Surtout, il ne faut détruire aucun fils de la fenêtre (comme p_boutonQuitter ou p_mainWidget), c'est la classe QMainWindow qui les détruira.
La fonction d'initialisation :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
void FenetreTest::initialisationFenetreTest(){
p_boutonQuitter = new QPushButton("Quitter");
connect(p_boutonQuitter, SIGNAL(pressed()), SLOT(close()));
QVBoxLayout * mainLayout = new QVBoxLayout;
mainLayout->addWidget(p_boutonQuitter);
p_mainWidget = new QWidget;
p_mainWidget->setLayout(mainLayout);
setCentralWidget(p_mainWidget);
}
|
Là, vous voyez la fonction connect qui connecte le signal émit par le bouton p_boutonQuitter quand on lui clique dessus (pressed()) au slot close() de la classe, qui ferme la fenêtre.
Le QVBoxLayout à pour fonction de placer le bouton dans la fenêtre et de l'adapter à la taille de celle-ci.
On n'oublie pas d'inclure le moc (enfin le fichier générer par CMake):
1
|
#include "FenetreTest.moc"
|
Voilà un petit résumé :
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
|
#include "FenetreTest.h"
FenetreTest::FenetreTest()
:QMainWindow()
{
initialisationFenetreTest();
}
FenetreTest::~FenetreTest(){
}
void FenetreTest::initialisationFenetreTest(){
p_boutonQuitter = new QPushButton("Quitter");
connect(p_boutonQuitter, SIGNAL(pressed()), SLOT(close()));
QVBoxLayout * mainLayout = new QVBoxLayout;
mainLayout->addWidget(p_boutonQuitter);
p_mainWidget = new QWidget;
p_mainWidget->setLayout(mainLayout);
setCentralWidget(p_mainWidget);
}
#include "FenetreTest.moc"
|
Et voilà pour la classe.
|