IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Débuter dans la création d'interfaces graphiques avec Qt 4

Image non disponible


précédentsommairesuivant

III. Hello World

t1.rar

Fichiers
  • tutorials/tutorial/t1/main.cpp
  • tutorials/tutorial/t1/t1.pro

Ce premier programme est un simple exemple de Hello World. Il contient juste le minimum pour créer une application Qt. Voici un aperçu du programme :

Image non disponible

Et voilà le code source complet de l'application :

 
Sélectionnez
#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton hello("Hello world!");

    hello.show();
    return app.exec();
}

III-A. Analyse du code ligne par ligne

 
Sélectionnez
#include <QApplication>

Cette ligne inclut la définition de la classe QApplication. Il doit y avoir une instance de QApplication dans toute application qui possède une IHM avec Qt. QApplication gère différentes ressources au niveau de l'application, comme la police de caractères par défaut ou le curseur.

 
Sélectionnez
#include <QPushButton>

Cette ligne inclut la définition de la classe QPushButton. Pour chaque classe faisant partie de l'API publique de Qt, il y a un fichier d'en-tête de même nom contenant sa définition. QPushButton est un bouton d'interface graphique que l'utilisateur peut presser et relâcher. Il gère lui-même son propre look and feel, comme n'importe quel QWidget. Un widget est un composant de l'interface graphique qui peut gérer une entrée de l'utilisateur et dessiner. Le programmeur peut changer tout le look and feel du widget ou seulement une partie de celui-ci (la couleur, par exemple), ainsi que son contenu. Un QPushButton peut afficher du texte ou un QIcon.

 
Sélectionnez
int main(int argc, char *argv[]){

La fonction main() est le point d'entrée du programme. Le plus souvent, l'utilisation de cette fonction ne nécessite que quelques initialisations avant de passer la main à la bibliothèque Qt, qui indique ensuite au programme, par le biais d'événements, les actions demandées par l'utilisateur. Le paramètre argc est le nombre d'arguments de la ligne de commande et argv est le tableau contenant les arguments de la ligne de commande. C'est une propriété standard du C++.

 
Sélectionnez
 QApplication app(argc, argv);

app est l'instance de QApplication de ce programme. Elle est créée ici. Les arguments argc et argv sont passés au constructeur de QApplication pour qu'il puisse traiter certains arguments de ligne de commande standard (comme -display sous X11). Tous les arguments de ligne de commande reconnus par Qt sont enlevés de argv, et argc est décrémenté en conséquence. Voir la documentation de QApplication::arguments() pour plus de détails. L'instance de QApplication doit être créée avant toute utilisation d'une quelconque fonctionnalité d'IHM de Qt.

 
Sélectionnez
 QPushButton hello("Hello world!");

Après la création de la QApplication, voilà la première ligne de code liée à l'IHM : un bouton est créé. Le bouton affiche le texte "Hello world!". Comme, dans le constructeur de QPushButton, on n'a pas spécifié un second argument pour préciser la fenêtre parente du bouton, ce bouton sera lui-même une fenêtre, avec son propre cadre et sa barre de titre. La taille du bouton est déterminée par défaut. On pourrait appeler QWidget::move() pour assigner un emplacement spécifique au widget, mais nous laissons ici le système choisir une position.

 
Sélectionnez
 hello.show();

Un widget n'est jamais visible quand on le crée. Il faut appeler QWidget::show() pour le rendre visible.

 
Sélectionnez
 return app.exec();}

C'est ici que le main() passe le contrôle à Qt. QCoreApplication::exec() finira en même temps que l'application. QCoreApplication est une classe de base de QApplication. Elle implémente les fonctionnalités non liées à l'IHM et peut être utilisée pour le développement d'applications sans IHM. Dans QCoreApplication::exec(), Qt reçoit et traite les événements système et les renvoie aux widgets appropriés. Vous devriez maintenant compiler et lancer le programme.

III-B. Les variables d'environnement

Si vous utilisez la ligne de commande pour développer des applications Qt, vous devez vous assurer que les librairies et les exécutables de Qt sont accessibles à votre environnement en ajoutant le chemin du répertoire bin de Qt à votre variable PATH. Cette opération est décrite dans les instructions d'installation de votre plateforme. Sous Windows, ceci est automatique si vous utilisez la fenêtre de commande depuis le menu Démarrer > (Tous les) Programmes > Qt. Si vous utilisez la fenêtre de commande depuis Démarrer > Exécuter > command ou cmd, vous devrez paramétrer vous-même la variable PATH ou utiliser le script du Qt SDK qtenv.bat, comme décrit ci-après.

III-C. Compiler l'application

Les exemples de ce tutoriel sont situés dans le répertoire examples/tutorials/tutorial de Qt. Si vous avez installé Qt à partir d'un exécutable, les exemples ont également été installés. Si vous avez compilé Qt vous-même, les exemples ont été compilés en même temps. Dans les deux cas, en modifiant et en recompilant vous-même ces exemples, vous en apprendrez beaucoup sur la façon d'utiliser Qt. Dans le cas où vous auriez copié le(s) fichier(s) .cpp et .h d'un exemple dans un autre répertoire pour y apporter vos modifications, la prochaine étape sera de créer un Makefile pour Qt dans ce répertoire. La création d'un Makefile pour Qt utilise la commande qmake, un outil de compilation fourni avec Qt. Pour créer un Makefile, lancez les deux commandes suivantes dans le répertoire contenant vos sources modifiées :

 
Sélectionnez
qmake -project
qmake
make # ou nmake

La première commande ordonne à qmake de créer un fichier de projet (.pro). La seconde commande ordonne à qmake d'utiliser le fichier .pro pour créer un makefile adapté à la plateforme et au compilateur. Vous n'avez plus qu'à lancer make (nmake si vous êtes sous Visual Studio) pour compiler le programme et vous pourrez ensuite lancer votre première application Qt !

Il n'y a pas d'emplacement spécifique pour vos fichiers, c'est à vous de le déterminer en fonction de votre système, qmake s'y adaptera. Il suffit de le lancer à la racine de vos sources.

Il est possible que vous deviez spécifier une variable d'environnement, QMAKESPEC, qui correspond à votre plateforme (le triplet système d'exploitation, compilateur, bitness).
De même, il est probable que vous deviez modifier votre PATH avant d'appeler qmake, sous peine d'erreurs, sous Windows. Si vous utilisez le Qt SDK, vous devriez utiliser le script qtenv.bat contenu dans le dossier Dossier d'installation du Qt SDK\bin, soit généralement un chemin du genre C:\Qt\2010.05\bin. Ce script définira aussi la variable QMAKESPEC en fonction de ce qui est nécessaire pour votre environnement.

III-D. Lancer l'application

Quand vous lancerez cet exemple, vous verrez une petite fenêtre affichant un seul bouton. Sur le bouton, vous pourrez lire le fameux : "Hello world!".

Vous pourrez trouver l'exécutable release dans le dossier release à la racine de vos sources.

III-E. Exercices

Essayez de dimensionner la fenêtre. Si vous êtes sous X11, essayez de lancer le programme avec l'option -geometry (par exemple, -geometry 100x200+10+20).


précédentsommairesuivant

Copyright © 2009 - 2019 Developpez.com LLC Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.