« Programmation Qt/Un premier programme » : différence entre les versions

<source> bientôt obsolète, remplacé par <syntaxhighlight>
m (Passage du sommaire en <noinclude>)
Balise : Éditeur de wikicode 2017
(<source> bientôt obsolète, remplacé par <syntaxhighlight>)
 
=== Fichier ===
{{FichierDébut|HelloWorld.cpp|largeur=70%|info=Programme simple affichant un bouton "Hello world!"|icon=Crystal128-source-cpp.svg}}
<sourcesyntaxhighlight lang="cpp-qt">
#include <QApplication>
#include <QPushButton>
return app.exec();
}
</syntaxhighlight>
</source>
{{FichierFin}}
 
 
==== En-têtes ====
<sourcesyntaxhighlight lang="cpp-qt">
#include <QApplication>
#include <QPushButton>
</syntaxhighlight>
</source>
Inclusion des fichiers d'en-tête définissant les deux classes utilisées dans le programme.
 
==== Fonction principale ====
<sourcesyntaxhighlight lang="cpp-qt">
int main(int argc, char* argv[])
{
//Code
}
</syntaxhighlight>
</source>
Déclaration standard de la fonction principale lançant l'application.
 
Notez que l'on peut aussi le trouver écrit comme cela, bien que la version précédente soit plus complète :
<sourcesyntaxhighlight lang="cpp-qt">
int main()
{
//Code
}
</syntaxhighlight>
</source>
 
==== Application Qt ====
<sourcesyntaxhighlight lang="cpp-qt">
QApplication app(argc, argv);
</syntaxhighlight>
</source>
Création de l'instance unique de la classe QApplication définissant la configuration par défaut des éléments graphiques.
 
 
==== Bouton ====
<sourcesyntaxhighlight lang="cpp-qt">
QPushButton hello("Hello world!");
</syntaxhighlight>
</source>
Création d'un bouton dont le texte "Hello world!" est passé en paramètre du constructeur.
 
==== Configuration du bouton ====
<sourcesyntaxhighlight lang="cpp-qt">
hello.resize(100,30);
</syntaxhighlight>
</source>
Redimensionne le bouton à 100 pixels de largeur et 30 de hauteur.<!-- Nous verrons plus tard en détail cette méthode. -->
 
==== Afficher ====
<sourcesyntaxhighlight lang="cpp-qt">
hello.show();
</syntaxhighlight>
</source>
Affiche le bouton dans une fenêtre créée pour le contenir.
 
==== Boucle de traitement des évènements ====
<sourcesyntaxhighlight lang="cpp-qt">
return app.exec();
</syntaxhighlight>
</source>
Lancement l'exécution de la boucle traitant des évènements.
La méthode <code>exec()</code> retourne le code de retour du programme.
 
==== Fin ====
<sourcesyntaxhighlight lang="cpp-qt">
}
</syntaxhighlight>
</source>
Fin de la fonction principale.
----
 
{{FichierDébut|essais.pro|info=Description du projet Qt}}
<sourcesyntaxhighlight lang="make">
TEMPLATE = app
SOURCES = main.cpp \
mainwindow.cpp
HEADERS = mainwindow.h
</syntaxhighlight>
</source>
{{FichierFin}}
 
 
{{FichierDébut|main.cpp|info=Fonction principale de lancement de l'application|icon=Crystal128-source-cpp.svg}}
<sourcesyntaxhighlight lang="cpp-qt">
#include <QApplication>
#include "mainwindow.h"
return app.exec();
}
</syntaxhighlight>
</source>
{{FichierFin}}
 
 
{{FichierDébut|mainwindow.h|info=En-tête pour la classe de la fenêtre principale|icon=Crystal128-source-h.svg}}
<sourcesyntaxhighlight lang="cpp-qt">
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#endif
</syntaxhighlight>
</source>
{{FichierFin}}
 
 
{{FichierDébut|mainwindow.cpp|info=Implémentation de la classe de la fenêtre principale|icon=Crystal128-source-cpp.svg}}
<sourcesyntaxhighlight lang="cpp-qt">
#include <QtGui>
#include "mainwindow.h"
{
}
</syntaxhighlight>
</source>
{{FichierFin}}
 
 
{{FichierDébut|essais.pro|info=Description du projet Qt}}
<sourcesyntaxhighlight lang="make">
TEMPLATE = app
SOURCES = main.cpp \
mainwindow.cpp
HEADERS = mainwindow.h
</syntaxhighlight>
</source>
{{FichierFin}}
Dans ce fichier, on met tous les fichiers et les headers utilisés.
 
{{FichierDébut|main.cpp|info=Fonction principale de lancement de l'application|icon=Crystal128-source-cpp.svg}}
<sourcesyntaxhighlight lang="cpp-qt">
#include <QApplication>
#include "mainwindow.h"
return app.exec();
}
</syntaxhighlight>
</source>
{{FichierFin}}
<sourcesyntaxhighlight lang="cpp-qt">
#include <QApplication>
</syntaxhighlight>
</source>
On inclue la création de fenêtres.
<sourcesyntaxhighlight lang="cpp-qt">
#include "mainwindow.h"
</syntaxhighlight>
</source>
On inclue notre header. Attention de ne pas oublier les guillemets !
<sourcesyntaxhighlight lang="cpp-qt">
int main ( int argc, char *argv[] )
{
//Code
}
</syntaxhighlight>
</source>
On créé notre fonction principale.
<sourcesyntaxhighlight lang="cpp-qt">
QApplication app(argc, argv);
</syntaxhighlight>
</source>
On créé l'application.
<sourcesyntaxhighlight lang="cpp-qt">
MainWindow mainWin;
mainWin.show();
</syntaxhighlight>
</source>
On appelle une fenêtre de type MainWindow et on l'affiche.
<sourcesyntaxhighlight lang="cpp-qt">
return app.exec();
</syntaxhighlight>
</source>
Exécution de l'application.