Ceci est une ancienne révision du document !
Ce tutoriel est une reprise et une mise à jour des vidéos que j'avais faites pour mon livre sur la chaîne YouTube de mon éditeur, D-Booker, à l'occasion de la sortie de Qt 5.0 : Installer le framework Qt 5. C'est également une reprise des vidéos que j'avais faites à l'occasion de la sortie de Qt 5.2, sur ma chaîne YouTube : Installation et premier pas avec Qt 5.2 sur Windows et Savoir utiliser la documentation de Qt. Je préfère passer au format tutoriel classique, pour faciliter les mises à jour.
La première partie est consacrée à l'installation de Qt sur Linux et Windows et la création de projets par défaut, pour vérifier que l'installation s'est bien passée.
Dans la seconde partie, j'explique un peu plus en détail le fonctionnement de Qt et de son installation, pour aider ceux qui rencontrent des problèmes lors de l'installation.
Pour terminer, je décris comment utiliser la documentation de Qt, qui est très bien faite et très riche. En particulier, il existe des codes d'exemple pour la majorité des fonctionnalités de Qt. Quand vous souhaitez réaliser quelque chose, la première chose à faire est probablement d'étudier ces codes d'exemple.
Il peut sembler étrange de commencer un tutoriel sur l'installation de Qt en expliquant comment désinstaller. La raison est que beaucoup ont tenté d'installer Qt avant de lire ce tutoriel et il est dans ce cas nécessaire de bien désinstaller Qt avant de le réinstaller,
La désinstallation en elle-même ne pose généralement pas de problème. Mais si vous aviez un problème de configuration de Qt Creator qui bloquait la compilation, il faut penser à supprimer les fichiers de configuration. Ces fichiers ne se trouvent pas dans le répertoire d'installation de Qt, ce qui explique qu'il est facile de les oublier (d'autant plus qu'ils sont dans un répertoire caché).
Sous Windows, il faut aller dans le répertoire C:\Users\VotreNom\AppData\Roming
et supprimer les répertoires Qt
et/ou QtProject
. Sous Linux, il faut aller dans /home/guillaume/.config
et supprimer QtProject
. Ces répertoires sont cachés, donc pensez à afficher les répertoires cachés (Ctrl+H dans l'explorateur de fichiers sous Linux, dans le menu Option > “Afficher les fichiers cachés” sous Windows).
Le téléchargement de Qt se fait sur le site du projet Qt : http://www.qt.io/.
Cette page d'accueil contient une série de liens en haut, en particulier :
La page de téléchargement contient plusieurs versions de Qt. Il faut savoir que Qt existe sous licence libre GPL/LGPL (qui permet de créer des programmes libres ou commerciaux, avec quelques conditions d'utilisation) ou sous licence commerciale (qui donnent plus de libertés).
La page de de téléchargement commence par une aide pour choisir la version de Qt à utiliser, puis les versions commerciales de Qt. Allez directement à la version “Open-Source” un peu plus bas et cliquer sur “Get started”.
Cela permet d'aller sur la page de téléchargement : http://www.qt.io/download-open-source/.
Le téléchargement, le choix des outils et versions, l'installation et la mise à jour de Qt utilise un outil dédié, le Qt Maintenance Tool. Cet outil peut fonctionner selon deux modes :
Dans tous les cas, vous pouvez installer de nouvelles versions de Qt ou mettre à jour en lancer le Qt Maintenance Tool.
La page de téléchargement propose en premier l'installateur en ligne correspondant à votre système. Par défaut, télécharger cette version de l'installeur.
En dessous se trouvent les autres versions des outils. Dans l'ordre :
Dans ce tutoriel, nous ne verrons que l'utilisation de l'installateur online par défaut. Si vous n'utilisez pas la méthode par défaut, on va considérer que vous savez ce que vous faites…
L'installateur s'appelle qt-opensource-windows-x86-1.6.0-6-online.exe
. Vous pouvez le lancer directement.
Le bouton “Paramètres” permet de configurer un serveur proxy si vous en utilisez un et d'ajouter des dépôts pour Qt. Normalement, vous n'avez pas besoin de modifier les dépôts, le dépôt principal de Qt est configuré par défaut.
Après avoir cliqué sur “Suivant”, le programme recherche en ligne la liste des logiciels que vous pouvez installer (cela peut durer quelques dizaines de secondes à quelques minutes, en fonction de votre connexion).
La page suivante permet de choisir le dossier d'installation de Qt. Par défaut, le chemin est “C:\Qt”.
La page suivante permet de sélectionner la liste des outils à installer. Pour utiliser Qt, il faut installer trois outils :
Par défaut, choisissez la dernière version de Qt (5.4) pour “MingW 4.9.1 (32 bit) OpenGL” et le compilateur “MingW 4.9.1”.
La page suivante permet de valider les licences utilisateurs. Cliquez sur suivant.
La page suivante permet de choisir le répertoire dans le menu Démarrer.
Une fois que tout cela est fait, l'installation est prête pour démarrer.
Le téléchargement puis l'installation se lancent. Selon votre connexion et le nombre de paquets que vous installez, cela peut prendre plusieurs minutes à plusieurs heures (si vous souhaitez installer beaucoup de paquets, il est probablement préférable de répéter l'installation plusieurs fois). L'installation sature le processeur, ne vous étonnez pas trop si Windows devient un peu lent pendant ce temps là. Allez vous balader dehors, il fait beau.
Une fois que l'installation est terminée, la page suivante propose d'ouvrir le fichier ReadMe (qui décrit les nouveautés de la dernière mise à jour de Qt) et de lancer Qt Creator. Vous pouvez décocher la case “Open Qt ReadMe” et cliquer sur Terminer pour lancer Qt Creator.
L'installateur sous Linux s'appelle qt-opensource-linux-x86-1.6.0-6-online.run
(pour 32-bit) ou qt-opensource-linux-x64-1.6.0-6-online.run
(pour 64-bit). Par défaut, ce programme n'est pas exécutable, la première chose à faire est donc de modifier ses propriétés.
Cliquez avec le bouton droit de la souris et choisissez “Propriétés”. Dans l'onglet “Permission”, sélectionner “Allow executing file as program” (ou équivalent si vous avez une version en français). Vous pouvez également utiliser chmod
en ligne de commande :
chmod +x qt-opensource-linux-x64-1.6.0-6-online.run
Vous pouvez ensuite lancer l'application. La première page contient un bouton “Settings” ou “Paramètres” pour configurer les dépôts ou un serveur proxy si nécessaire. Normalement, vous n'avez pas besoin de modifier les dépôts, le dépôt principal de Qt est configuré par défaut.
Après avoir cliqué sur “Suivant”, le programme recherche en ligne la liste des logiciels que vous pouvez installer (cela peut durer quelques dizaines de secondes à quelques minutes, en fonction de votre connexion).
La page suivante permet de choisir le dossier d'installation de Qt. Par défaut, le chemin est ”/home/username/Qt”.
La page suivante permet de sélectionner la liste des outils à installer. Pour utiliser Qt, il faut installer trois outils :
Par défaut, choisissez la dernière version de Qt (5.4) pour “GCC 32-bit” en 32-bit et “GCC 64-bit” en 64-bit.
La page suivante permet de valider les licences utilisateurs. Cliquez sur suivant.
Une fois que tout cela est fait, l'installation est prête pour démarrer.
Le téléchargement puis l'installation se lancent. Selon votre connexion et le nombre de paquets que vous installez, cela peut prendre plusieurs minutes à plusieurs heures (si vous souhaitez installer beaucoup de paquets, il est probablement préférable de répéter l'installation plusieurs fois). L'installation sature le processeur, ne vous étonnez pas trop si Windows devient un peu lent pendant ce temps là. Allez vous balader dehors, il fait beau.
Une fois que l'installation est terminée, la page suivante propose d'ouvrir le fichier ReadMe (qui décrit les nouveautés de la dernière mise à jour de Qt) et de lancer Qt Creator. Vous pouvez décocher la case “Open Qt ReadMe” et cliquer sur Terminer pour lancer Qt Creator.
L'installation des outils pour développer des applications avec Qt pour Android et iOS est un peu plus compliquée (il est nécessaire d'installer les outils spécifiques de chaque plateforme, en plus de Qt). Pour Android, j'ai fait une série de tutoriels sur mon blog : https://guillaumebelz.wordpress.com/category/android/. Je ferai bientôt une mise à jour pour Qt 5.4; Pour iOS, je n'ai pas de Mac ni d'iPhone/iPad, je n'ai pas pu tester l'installation. Si quelqu'un utilise ces outils et qu'il souhaite compléter ce tutoriel, contactez moi.
La première chose à faire après avoir installé Qt est de tester si l'installation s'est correctement déroulée. Pour cela, nous allons simplement créer un programme par défaut et l'exécuter. Si tout se passe bien, le programme se lancera et affichera une fenêtre.
Lorsque vous lancez l'éditeur Qt Creator, vous arrivez sur la page d'accueil suivante :
Quelques éléments de vocabulaire relatifs à Qt Creator, pour bien comprendre les choses. Les icônes à gauche en haut permettent de choisir le mode :
En dessous des icônes de mode (toujours dans la barre à gauche), une série d'icônes (actuellement grisés, puisque aucun projet n'est ouvert) permettent de haut en bas :
En bas, une série d'onglets permet d'ouvrir des fenêtres de messages. Lors de la compilation ou lorsqu'il y a un problème, les messages s'affichent dans ces fenêtres. De gauche à droite :
std::cout
ou qDebug()
) ;Pour créer un nouveau projet par défaut, vous pouvez aller dans le mode “Accueil” puis cliquer sur “Nouveau projet” ou aller dans le menu “Fichier” puis “Nouveau fichier ou projet…”. Un assistant vous permet de sélectionner le type de projet :
Il est possible de créer beaucoup de types de projet différents, il suffit de lire la description à droite pour savoir à quoi cela correspond.
Pour les plus importants :
Choisissez “Application Qt avec widgets” pour ce premier test.
La page suivante permet de choisir le nom du projet que l'on souhaite créer et l'emplacement sur le disque. Remarque : ne mettez pas vos projets dans “C:\Qt”, créez un répertoire dédié pour cela, par exemple dans vos documents ou votre répertoire de travail.
La page suivante permet de sélectionner les kits à utiliser pour compiler le programme. Il est possible de sélectionner plusieurs kits (voir la suite de ce tutoriel pour les explications sur les kits), pour le moment (si vous avez suivi les instructions de ce tutoriel et que c'est la première fois que vous installez Qt), vous n'avez qu'un seul kit disponible : “Qt MingW”.
Si vous n'avez aucun kit disponible dans cette page, c'est qu'il y a eu un problème lors de l'installation (Qt Creator n'a pas réussi à trouver une version de Qt et un compilateur compatibles ensemble). Voir la suite de ce tutoriel pour les explications sur les kits.
Remarque : Qt 5.4 n'est pas encore totalement finalisé, il est possible que vous ayez une erreur dans le message affiché, comme c'est le cas sur la copie d'écran. Rien de grave.
Le projet par défaut propose de créer une classe MainWindow (fenêtre principale). On va être gentil, on va pas le contrarier, on le laisse faire. Cliquez sur Suivant.
Pour terminer, il est possible d'ajouter le projet dans un gestionnaire de versions. Cela n'est pas nécessaire pour ce test, mais n'hésitez pas à utiliser un tel gestionnaire, c'est très pratique et utile.
Cliquez sur Terminer pour créer le projet.
Qt Creator crée plusieurs fichiers et passe en mode “Éditer” pour afficher le contenu des fichiers. Un projet Qt contient généralement les fichiers suivants (cela peut changer en fonction du type de projet) :
.pro
ou .qmlprojet
, qui contient les informations sur le projet (en particulier le liste des fichiers et les modules Qt à utiliser) ;.h
) et d'implémentation (.cpp
). En particulier, le projet contient le fichier main.cpp
, qui est le point de démarrage du programme ;.ui
.
Cliquez sur les différents fichiers pour voir comment Qt Creator les affiche. Par exemple, les fichiers .h
et .cpp
sont affichés dans un éditeur de texte avec coloration syntaxique. Les fichiers .ui
sont affichés en utilisant un éditeur graphique (mode Design).
Cliquez sur le triangle vert en bas à gauche, dans le menu “Compiler” puis “Exécuter” ou appuyez sur Ctrl+R pour lancer le programme. Si tout s'est bien passé, une fenêtre “MainWindow” devrait s'ouvrir.
Il est également possible d'utiliser Qt avec le compilateur de Microsoft : Microsoft Visual Studio C++ (que l'on appelle en raccourci “MSVC”). Si vous regardez en détail la liste des paquets, vous pouvez voir plusieurs versions de MSVC : 2010, 2012 et 2013 (la version MSVC 2015 vient de sortir, elle n'est pas encore proposée dans les paquets Qt).
Vous pouvez également observer qu'il existe des versions 32 et 64-bit et des versions OpenGL ou non (dans ce cas, Qt utilise DirectX)
Pour utiliser ces versions de Qt, il faut installer les versions de MSVC correspondantes. Il existe également plusieurs licences de MSVC, plus ou moins chères (jusqu'à plusieurs milliers d'euros). Par défaut, vous pouvez utiliser la version “Express”, qui est la version gratuite de MSVC. Cette version contient les mêmes outils de compilation 32-bit que les versions payantes, les versions payantes proposent en plus des outils de développement avancés et le compilateur 64-bit.
Par défaut, vous pouvez installer la version “MSVC 2013 32-bit”. Il faudra donc installer la version correspondante de MSVC. Pour trouver la version MSVC à télécharger, le plus simple est de rechercher “télécharger microsoft visual studio express 2013”. Dans la liste de résultats, prenez le lien vers le site de Microsoft, qui contient “downloads”. Par exemple, pour MSVC 2013, le lien est le suivant : http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx, choisissez ensuite “Visual Studio Express 2013 with Update 4 for Windows Desktop”.
Suivez les instructions pour l'installation. Cela peut prendre plusieurs minutes. A la fin de l'installation, allez dans les paramètres de configuration, dans l'onglet “Compilateur”. Normalement, le compilateur MSVC doit être reconnu automatiquement. Si ce n'est pas le cas, lisez la suite de ce tutoriel pour régler ce problème.
Beaucoup de distributions Linux proposent Qt 5 directement dans les dépôts, vous pouvez donc commencer par là. Par exemple, avec Ubuntu, lancez synaptic et faites une recherche sur libqt5
:
Comme vous pouvez le voir dans la copie d'écran, Ubuntu propose Qt 5, mais pas forcement Qt 5.4 (la version de Qt disponible dépendra de la distribution). Si vous n'avez pas besoin de la dernière version de Qt, vous pouvez installer celle des dépôts.
Vous pouvez également installer en ligne de commande, par exemple :
sudo apt-get install libqt5*
En complément, vous aurez besoin d'installer un compilateur C++. Vous pouvez installer GCC ou/et CLang, via synaptic ou en ligne de commande. Il est également possible d'installer d'autres méta-paquets, qui contiennent plusieurs outils de développement, comme les paquets “build-essential” ou “ubuntu-sdk”.
Pour tester si vous avez un compilateur fonctionnel et quelle est sa version, vous pouvez taper l'une des lignes suivantes :
g++ -v clang++-3.5 -v
Par exemple, chez moi, cela retourne pour GCC les lignes suivantes. Vous pouvez voir à la dernière ligne que c'est la version 4.9.1 de GCC.
Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.1-16ubuntu6' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.9.1 (Ubuntu 4.9.1-16ubuntu6)
Pour Clang :
Ubuntu clang version 3.5.0-4ubuntu2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) Target: x86_64-pc-linux-gnu Thread model: posix Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.9.1 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8.3 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.1 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.1 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.1 Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64
Juste pour faciliter les discussions sur les forums, voici quelques notions à avoir :
Donc, pour résumer, Qt n'est pas un langage. Ce n'est pas non plus un compilateur ou un éditeur. C'est simplement un framework. Ne confondez pas les choses et ne dites pas que vous avez écrit un programme en Qt (puisque ce n'est pas un langage - il faudrait dire “écrit un programme en C++ avec Qt”).
Donc, pour créer un programme, il faut :
L'IDE Qt Creator permet de gérer plusieurs compilateurs et versions de Qt en même temps. Cela est particulièrement utile si vous faites de la compilation vers Android ou iOS. Si vous avez suivi la procédure d'installation de Qt décrite ci-dessus, Qt Creator a normalement pu configurer correctement votre environnement de compilation et vous devriez pouvoir compiler directement une application.
Pour pouvoir gérer plusieurs configurations différentes, Qt Creator utilise un système de kits. Un kit est tout simplement l'association d'un compilateur, d'un débogueur et d'une version de Qt. Un kit est valide lorsque tous ces éléments sont compatibles. Si Qt Creator ne vous propose pas de kit lors de la création d'un projet, c'est peut-être parce que vous n'avez pas de kit valide (cela arrive souvent lorsque les gens installent Qt pour Microsoft Visual C++, mais sans installer ce compilateur).
Pour connaître les kits utilisables sur votre ordinateur et les configurer, allez dans le menu “Outils” puis “Options…” puis “Compiler & Exécuter”. Ce dialogue possède des onglets qui vont nous intéresser :
Comme vous l'avez sûrement compris, chacun de ces onglets permet de configurer les différents outils utilisés pour la compilation.
L'onglet Versions de Qt
affiche les différentes versions de Qt installées. Une version de Qt est identifiée par un numéro de version de Qt (actuellement Qt 5.4, mais vous pouvez également avoir Qt 5.3, 5.2, etc.) et par le compilateur utilisé pour compiler Qt (MingW 4.9.1, MSVC 2013 32b OpenGL, etc.) Il faut compiler votre programme avec le même compilateur utilisé pour compiler Qt.
S'il manque une version de Qt, vous pouvez cliquer sur le bouton “Ajouter” et allez dans le répertoire de la version de Qt manquante, puis dans le sous-répertoire bin et sélectionner qmake. Par exemple, si vous avez suivi la procédure d'installation décrite ci-dessus et que Qt n'est pas reconnu, il faudra ajouter C:\Qt\5.4\mingw491_32\bin
.
L'onglet Compilateur
affiche la liste des compilateurs connus. Il faut bien sûr au moins un compilateur valide pour compiler un programme. Qt Creator trouvera les compilateurs installés dans les répertoires par défaut. Si ce n'est pas le cas, cliquez sur le bouton “Ajouter” et allez chercher l'application g++ (pour MingW et GCC), clang++ (pour LLVM/Clang) et cl.exe pour MSVC.
Les compilateurs se déclinent en plusieurs versions, il faudra bien choisir la version correspondant à la version de Qt utilisée. Le nom du compilateur correspondant à une version de Qt est indiqué dans la version de Qt.
Pour le Debogueur
, si vous avez installé les compilateurs MingW, GCC ou Clang, le débogueur est inclus dedans et devrait être directement reconnu (s'il est installé dans un répertoire par défaut). Pour MSVC, il faut installer le Windows SDK en complément.
Un débogueur ne peut fonctionner qu'avec le compilateur correspondant. Si vous utilisez MSVC, vous ne pouvez pas utiliser GDB par exemple.
Une fois que vous avez vérifié que tous les outils sont individuellement reconnus par Qt Creator, vous pouvez configurer les kits. De la même façon que pour les autres outils, Qt Creator créera différents kits par défaut, s'il arrive à trouver des outils compatibles entre eux.
Si un kit n'est pas valide, il y aura un triangle rouge sur le kit et un message indiquera le problème. Il faut obligatoirement au moins un kit valide pour compiler. Pour qu'un kit soit valide, il faut utiliser un compilateur compatible avec une version de Qt.
L'une des erreurs les plus courantes est d'installer une version de Qt pour MSVC sans installer MSVC (l'erreur vient du cours C++ de OpenClassroom).
Remarque : si on vous demande sur un forum avec quelle version de Qt et quel compilateur vous avez compilé votre programme, il faut donner les versions du kit que vous utilisez. Certains font parfois l'erreur d'aller dans le menu “Aide” puis “À propos de Qt Creator…” et donnent la version de Qt utilisée pour compiler Qt Creator, pas leur programme.
La méthode la plus simple pour mettre à jour Qt est de lancer l'application MaintenanceTool
qui se trouve dans le répertoire d'installation de Qt.
Avec cet outil, vous pouvez choisir “Mettre à jour les modules” (ou “Update component”, selon la version de Qt) pour mettre à jour automatiquement les outils (Qt Creator, Installer, etc.) Pour mettre à jour les versions de Qt et compilateur, choisissez “Gestionnaire de paquets” (ou “Manage component”). Le reste de la procédure est identique à une installation.