# Programmation Qt/Projet Qt

* Avant-propos
* Introduction
* Développer pour Windows 64 bits
* Un premier programme
* Signaux et slots
* Projet Qt
* Classes et objets Qt
* Extensions du langage C++
* Utilisation de Qt Creator
** Créer un projet
* Les widgets
* Le positionnement des widgets
* La fenêtre principale
* TP : un éditeur de texte
* Traduire son programme
* Sauvegarder des données avec XML
* Sauvegarder des données avec SQL
* TP : un navigateur web
* Utilisation de Qt Designer
* Utiliser la documentation Qt
* Distribuer son programme
* Ressources
Annexes
* Avant-propos
* Introduction
* Développer pour Windows 64 bits
* Un premier programme
* Signaux et slots
* Projet Qt
* Classes et objets Qt
* Extensions du langage C++
* Utilisation de Qt Creator
** Créer un projet
* Les widgets
* Le positionnement des widgets
* La fenêtre principale
* TP : un éditeur de texte
* Traduire son programme
* Sauvegarder des données avec XML
* Sauvegarder des données avec SQL
* TP : un navigateur web
* Utilisation de Qt Designer
* Utiliser la documentation Qt
* Distribuer son programme
* Ressources
Annexes
[ Modifier le sommaire ]
Un projet Qt comporte un fichier d'extension .pro listant les fichiers du projet et permettant de configurer la compilation de l'application.

## Syntaxe

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.

## Créer un projet

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

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

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

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