Programmation Qt/Projet Qt

Un projet Qt comporte un fichier d'extension .pro listant les fichiers du projet et permettant de configurer la compilation de l'application.

Syntaxe

modifier

Un fichier projet est un fichier texte dont la syntaxe ressemble à celle des Makefile.

Un commentaire commence par la caractère dièse # et se termine en fin de ligne. Il définit un certain nombre de variables en utilisant l'un des trois opérateurs =, += et -=. Ces variables contiennent en général une liste de valeurs qui peut être modifiée à l'aide de l'opérateur += pour ajouter un élément et de l'opérateur -= pour retirer un élément.

# Définir la valeur (remplace la valeur précédente)
VARIABLE = valeur1 valeur2

# Ajouter une ou des valeurs
VARIABLE += valeur3 valeur4

# Retirer une ou des valeurs
VARIABLE -= valeur2 valeur4

Créer un projet

modifier

Créer un fichier projet (*.pro) pour une application peut se faire de différentes façons :

  • Utiliser la commande suivante pour générer un fichier automatiquement à partir des fichiers sources du répertoire courant :
    qmake -project
  • Le créer manuellement avec un éditeur de texte,
  • Le créer avec Qt Creator.

Variables

modifier

Les variables sont de différent types :

  • celles qui listent les fichiers du projet,
  • celles qui permettent de configurer la compilation du projet.

Liste des fichiers

modifier

Les variables listant les fichiers du projet sont :

  • HEADERS : fichiers d'en-tête (*.h),
  • SOURCES : fichiers sources (*.cpp),
  • FORMS : fichiers formulaires d'interface utilisateur (*.ui),
  • RESOURCES : fichiers de ressources (*.qrc).
  • TRANSLATIONS : fichiers de traductions des messages de l'application (*.ts).

Configuration de la compilation

modifier

Les variables suivantes permettent de configurer la compilation du projet :

QT
Liste des modules Qt utilisés, sans le préfixe Qt. Pour pouvoir utiliser certaines classes, il faut ajouter les modules auxquels elles appartiennent. Par défaut QtCore et QtGui sont inclus. Par exemple, pour utiliser la classe QLocalSocket, il faut ajouter le module QtNetwork :
QT += network
Si une application n'utilise aucune interface utilisateur graphique, QtGui peut être enlevé :
QT -= gui
TEMPLATE
Modèle d'exécutable à générer. Cette variable n'est pas une liste de valeurs, et ne peut avoir que l'une des valeurs suivantes:
  • app : pour construire une application autonome
  • lib : pour construire une bibliothèque ou un plug-in.
  • vcapp : pour construire une application Visual C++ autonome
  • vclib : pour construire une bibliothèque ou un plug-in Visual C++.
  • subdirs : pour créer un makefile de compilation des sous-répertoires listés dans la variable SUBDIRS.
DEFINES
Liste des symboles définis lors de la compilation des fichiers sources.
TARGET
Nom du fichier exécutable produit. Par défaut, l'exécutable porte le même nom que le fichier projet (extension modifiée en .exe sous Windows).

Pour plus de détails, voir http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html