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

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
{{Programmation Qt}}
{{Programmation Qt}}


Ce chapitre propose de créer un premier programme et de le compiler en utilisant des lignes de commandes, afin de se familiariser rapidement aux mécanismes de compilation de Qt.
== Un premier programmme ==


== Afficher un bouton ==
<small>En construction</small>


Voici un programme très simple qui permettra l'affichage d'une fenêtre (plus précisément la fenêtre principale).
Ce premier programme crée un bouton et l'affiche dans une fenêtre automatiquement créée par Qt.


=== Fichier ===
Voici le fichier <code>essais.pro</code> :
{{FichierDébut|HelloWorld.cpp|largeur=70%|info=Programme simple affichant un bouton "Hello world !"|icon=Crystal Clear mimetype source cpp.png}}
<source lang="cpp-qt">
#include <QApplication>
#include <QPushButton>


int main(int argc, char* argv[])
TEMPLATE = app
{
SOURCES = main.cpp \
QApplication app(argc, argv);
mainwindow.cpp
QPushButton hello("Hello world!");
HEADERS = mainwindow.h
hello.resize(100,30);
hello.show();
return app.exec();
}
</source>
{{FichierFin}}

=== Compilation ===

Pour compiler le programme :
# Ouvrez une fenêtre de commande.
# Assurez vous d'avoir le répertoire du compilateur C++ et celui de Qt dans le PATH.
# Créez le fichier projet Qt <tt>HelloWorld.pro</tt> :
qmake -project
#<li value="4">Créez le fichier <tt>Makefile</tt> à partir du fichier projet :</li>
qmake
#<li value="5">Construisez le programme en utilisant le compilateur C++ (GCC, Visual C++, MinGW, ...) :</li>
:* Pour GCC :
make
:* Pour Visual C++ :
nmake
:* Pour MinGW :
mingw32-make

Si aucune erreur ne se produit, le fichier HelloWorld.exe a été créé.
Dans le cas contraire :
* vérifiez que vous avez bien tapé le code source ci-dessus,
* vérifiez que vous avez bien utilisé les mêmes noms de fichier,
* vérifiez que vous avez bien taper les commandes de compilation,
* vérifiez l'installation du compilateur C++ et de Qt.

=== Exécution ===

Au lancement du programme, une fenêtre s'affiche avec un bouton "Hello world!" au centre de celle-ci.

[[Fichier:Qt-HelloWorld.png|center]]

== Un second programme ==

Voici un programme très simple qui permettra l'affichage d'une fenêtre, plus précisément la fenêtre principale.

Cette fois-ci le fichier projet sera créé manuellement.
Celui-ci définit le modèle de programme à produire (<tt>app</tt> pour une application), et la liste des fichiers sources et en-têtes.

{{FichierDébut|essais.pro}}
<source lang="make">
TEMPLATE = app
SOURCES = main.cpp \
mainwindow.cpp
HEADERS = mainwindow.h
</source>
{{FichierFin}}





Version du 23 mars 2012 à 13:12

Ce chapitre propose de créer un premier programme et de le compiler en utilisant des lignes de commandes, afin de se familiariser rapidement aux mécanismes de compilation de Qt.

Afficher un bouton

Ce premier programme crée un bouton et l'affiche dans une fenêtre automatiquement créée par Qt.

Fichier

HelloWorld.cpp
Programme simple affichant un bouton "Hello world !"
#include <QApplication>
#include <QPushButton>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QPushButton hello("Hello world!");
    hello.resize(100,30);
    hello.show();
    return app.exec();
}


Compilation

Pour compiler le programme :

  1. Ouvrez une fenêtre de commande.
  2. Assurez vous d'avoir le répertoire du compilateur C++ et celui de Qt dans le PATH.
  3. Créez le fichier projet Qt HelloWorld.pro :
qmake -project
  1. Créez le fichier Makefile à partir du fichier projet :
qmake
  1. Construisez le programme en utilisant le compilateur C++ (GCC, Visual C++, MinGW, ...) :
  • Pour GCC :
make
  • Pour Visual C++ :
nmake
  • Pour MinGW :
mingw32-make

Si aucune erreur ne se produit, le fichier HelloWorld.exe a été créé. Dans le cas contraire :

  • vérifiez que vous avez bien tapé le code source ci-dessus,
  • vérifiez que vous avez bien utilisé les mêmes noms de fichier,
  • vérifiez que vous avez bien taper les commandes de compilation,
  • vérifiez l'installation du compilateur C++ et de Qt.

Exécution

Au lancement du programme, une fenêtre s'affiche avec un bouton "Hello world!" au centre de celle-ci.

Un second programme

Voici un programme très simple qui permettra l'affichage d'une fenêtre, plus précisément la fenêtre principale.

Cette fois-ci le fichier projet sera créé manuellement. Celui-ci définit le modèle de programme à produire (app pour une application), et la liste des fichiers sources et en-têtes.

essais.pro
fichier texte
TEMPLATE = app
SOURCES  = main.cpp \
           mainwindow.cpp
HEADERS  = mainwindow.h


Voici le fichier main.cpp :

 #include <QApplication>
 #include "mainwindow.h"
 
 int main ( int argc, char *argv[] )
 {
      QApplication app;
      MainWindow mainWin;
      mainWin.show();
      return app.exec();
 }

Le fichier mainwindow.h :

 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
 #include <QWidget>
 
 class MainWindow : public QWidget
 {
      Q_OBJECT
 
 public:
      MainWindow();
 
 };
 
 #endif

Enfin voici le fichier mainwindow.cpp :

 #include <QtGui>
 #include "mainwindow.h"
 
 MainWindow::MainWindow()
 {
 }


Compiler un programme Qt

Pour compiler les programmes Qt il y a une nouvelle procédure à faire :

Vous devez ouvrir une console qui est fournie avec la bibliothèque Qt qui s'appelle "Qt4.5.0 Command Prompt" et ensuite vous dirigez vers le dossier du projet (ex : cd C:\Users\pseudo\projets\test). Ensuite vous devez taper 3 commandes qui sont :

  • qmake -project : qui génére un fichier .pro qui donne la liste des fichiers .cpp et .h du projet.
  • qmake : qui génére un fichier MakeFile à partir du fichier .pro.
  • make : qui compilera votre projet.

Si vous éxécutez votre projet directement par le .exe, cela affichera une erreur. Il faut rajouter les DLL dans le dossier debug de votre projet qui sont : mingwm10.dll, QtCore4.dll et QtGui4.dll que vous pourrez trouver dans les chemins suivants C:\MinGW\bin et C:\Qt\4.3.2\bin (faut chercher).

Ou, il y a un moyen plus simple qui est : dans la même console taper le chemin du dossier qui contient le .exe qui est : soit "debug" soit "release" (cd debug ou cd release), ensuite vous tapez le nom du .exe (ex test)


Analyse

  • Le fichier essais.pro répertorie les différents fichiers du projet.
  • On déclare app objet de la classe QApplication et mainWin objet de la classe MainWindow.
  • MainWindow est une classe dérivée de QWidget à laquelle on ne va pour l'instant rien ajouter.


Résultat

Après compilation on obtient une fenêtre vide (une image arrivera sous peu), base de la programmation graphique.