Traduction par Jean-luc Biord, du Site de la communauté Qt francophone.
English TOC.

4. Les Outils de Qt

Variables d'Environnement

Afin d'employer Qt avec succès trois variables d'environnement doivent être installées: QTDIR, PATH et QMAKESPEC.

Afin de compiler Qt, QTDIR doit être définie afin de pointer vers le répertoire contenant la distribution Qt. Dans ma distribution Mandrake 9 QTDIR est définie avec /usr/lib/qt3.

Pour pouvoir appeler les outils de Qt en ligne de commande la variable PATH doit être définie. Incluez simplement ${QTDIR}/bin à la fin de votre PATH.

Afin d'utiliser qmake correctement QMAKESPEC doit être définie. QMAKESPEC pointe vers un répertoire contenant des fichiers décrivant l'environnement cible de qmake. Qt inclut un répertoire appelé mkspecs, situés dans $QTDIR/mkspecs, contenant un certain nombre de caractéristiques préparées. Si tout va bien une de ces dernières vous adapte au besoin, par exemple une installation de x86 Linux utilisant GCC comme compilateur utilise linux-g++, ainsi QMAKESPEC devrait être définie avec $QTDIR/mkspecs/linux-g++.

Comment définissez vous des variables d'environnement ? Vous pouvez le demander. Dans bash vous entrez export QTDIR=/usr/lib/qt3, et export PATH=$PATH':/usr/lib/qt3/bin'. Mettez ces expressions dans votre .bashrc (dans votre répertoire local). Pour vérifier si les variables sont définies, entrez simplement, par exemple, echo $QTDIR au prompt.

Qt Designer

Qt Designer est le studio de programmation fournit avec Qt. Avec Qt 2.x Qt Designer a été utilisé comme concepteur de dialogue et tout le code était écrit en utilisant d'autres éditeurs. Avec Qt 3.x Designer a été étendu pour gérer les projets C++ et l'édition de code en plus de l'ancienne fonctionnalité. Dans tout ce tutoriel nous emploierons Qt Designer intensivement car il simplifie considérablement le processus de développement.

qmake

Parce qu'une application Qt a des dépendances aux bibliothèques Qt, il supporte les bibliothèques et parfois les bibliothèques tiers parties, mais essaye en même temps de rendre entièrements portables les fichiers crées pour facilement développer des choses complexes. Non seulement le code source C++ doit être compilé, mais moc introduit une étape additionnelle de pré-compilation et, comme nous verrons, des interfaces utilisateur peuvent être compilées depuis des descriptions XML en des classes C++. Pour résoudre ce problème qmake est utilisé.

Pour les cas simples, saisissez simplement qmake -project afin d'analyser tout le code et de générer un fichier de description de projet (du type * pro). Si qmake est exécuté sans aucun paramètre un fichier makefile destiné au système hôte est produit. Pour construire le projet, exécutez simplement l'outil make.

Pour construire un makefile approprié qmake dépend de la variable d'environnement QMAKESPEC et de la description auxquelle elle se rapporte. Cette description fournit toute l'information au sujet de la cible prévue.

Si vous changez juste le code, sans ajouter aucun nouveau fichier projet avec des dépendances externes (incluant des fichiers d'autres bibliothèques) il n'y a aucun besoin de réexécuter qmake. Exécutez simplement l'outil make pour reconstruire comme vous le feriez avec n'importe quel autre projet. Dans les autres cas il peut être nécessaire de reconstruire la description de projet et le fichier Makefile.

Le plus grand avantage, outre le soulagement de pas devoir créer des fichiers Makefiles complexes, est que le fichier de description de projet est portable. Tant que vous avez des spécifications dans qmake pour votre plateforme cible vous pouvez construire un fichier Makefile et puis le projet entier, avec la même description de projet.

Si vous avez vraiment besoin de descriptions spécifiques pour le système cible, de telles sections peuvent être incluses dans les fichiers de description de projet, de ce fait faisant des applications Qt vraiment portables. Par exemple, pour une configuration spécifique à win32, utilisez quelque chose comme l'exemple 3-1.

win32 {
  CONFIG += special
}

Exemple 3-1

Des options plus avançées sont disponibles. Il est recommandé au lecteur intéressé d'étudier les Concepts Avancés de la documentation en ligne de qmake.

Quelques distributions de Linux incluent seulement la version multi-thread de Qt, appelée libqt-mt.so et non libqt.so. Cela signifie que ld se plaindra (en exécutant GCC, g++ et d'autres outils appelant  ld directement) qu'il ne peut pas trouver -lqt. Il y a trois manières de résoudre ceci énumérées ci-dessous. Je recommande la première solution.

uic

Le compilateur d'interface utilisateur traduit les fichiers .ui produits par Designer en des classes C++. Cet outil est automatiquement configuré par qmake.

moc

Le compilateur de méta-objet crée des méta-objets décrivant les classes avec les signaux et des slots. Cet outil est automatiquement configuré par qmake.

Traducteur

Le traducteur utilise les outils lrelease et lupdate. Ils sont employés pour internationaliser (i18n) des applications Qt. Cela sera traité dans un futur chapitre.

Résumé

Exercices

  1. Assurez-vous que vous avez un système Qt fonctionnant.

Lecture Recommandée

This is a part of digitalfanatics.org and is valid XHTML.