Linux - QDevelop-userguide-fr.pdf

(1262 KB) Pobierz
Guide d'utilisation de QDevelop
Table des matières
1 Présentation.......................................................................................................................................2
2 Les prérequis......................................................................................................................................3
2.1 Le compilateur C++...................................................................................................................3
2.2 Qt...............................................................................................................................................3
2.2.1 Windows.............................................................................................................................3
2.2.2 Linux..................................................................................................................................3
2.2.3 Compilation de Qt..............................................................................................................4
2.3 Exuberant Ctags.........................................................................................................................5
2.4 Gdb.............................................................................................................................................5
3 Installer QDevelop.............................................................................................................................5
3.1 Depuis un dépôt Ubuntu............................................................................................................5
3.2 Depuis les binaires.....................................................................................................................5
3.3 Depuis les sources......................................................................................................................6
4 Modèle objet de Qt............................................................................................................................6
5 Signaux et Slots.................................................................................................................................6
6 Démarrage.........................................................................................................................................8
6.1 Contrôle des outils externes.......................................................................................................9
6.2 Présentation de l'interface..........................................................................................................9
6.2.1 L'explorateur de fichiers. .................................................................................................10
6.2.2 L'explorateur de classes....................................................................................................11
6.2.3 L'éditeur de fichiers sources.............................................................................................11
6.2.3.1 Complétion de code..................................................................................................12
6.2.4 Utiliser l'aide....................................................................................................................13
6.2.5 Bases de données..............................................................................................................14
7 Projets Qt.........................................................................................................................................15
7.1 Création....................................................................................................................................15
7.2 Propriétés..................................................................................................................................16
7.3 Éditions des fichiers.................................................................................................................18
7.3.1 Ressources.........................................................................................................................19
7.3.2 Dialogues..........................................................................................................................19
7.3.3 Traductions.......................................................................................................................19
7.3.4 Ajouter un nouvel élément................................................................................................21
7.4 Ajouter une classe....................................................................................................................22
7.5 Ajouter une méthode à une classe............................................................................................23
7.6 Ajouter une variable à une classe.............................................................................................23
7.7 Ajouter une portée....................................................................................................................24
7.8 Sous­classage...........................................................................................................................25
7.9 Génération................................................................................................................................27
7.10 Exécution................................................................................................................................28
7.11 Paramètres du programme......................................................................................................28
7.12 Débogage................................................................................................................................29
1
Version 1.2 du 7 juil. 2008
1  Présentation
Beaucoup de développeurs, particulièrement sous Linux programment de manière « artisanale ». 
C'est­à­dire qu'ils modifient le code dans un éditeur de texte comme vi, emacs, kate ou gedit puis 
compilent les programmes dans un terminal.  Cette méthode, adaptée au développeur expérimenté, 
présente l'avantage d'un contrôle total sur le processus de fabrication des programmes même si une 
certaine perte de temps se produit lors de la bascule entre l'éditeur et le terminal. Les développeurs 
débutants, en revanche, peuvent être complètement perdus face à cette manière de procéder. En 
effet,   comment   créer   facilement   un   projet,   ajouter   des   fichiers,   compiler,   déboguer.   Autant   de 
problèmes   qui   souvent   s'ajoutent   à   des   difficultés   liées   à   l'apprentissage   du   langage   lui­même. 
QDevelop est né du besoin d'un outil unifié permettant d'effectuer toutes les opérations nécessaires à 
la création d'une application Qt. C'est un environnement de développement intégré plus connu en 
Anglais sous le nom d'IDE (Integrated Development Environment) et permet de regrouper dans un 
seul outil, toutes les fonctionnalités nécessaires à la production de programmes en Qt. 
QDevelop n'est pas le seul IDE dédié à Qt et lorsque son développement à commencé, d'autres IDE 
étaient déjà en cours de développement. Il s'agit d'Eduyk, Monkey Studio et Cobras. Ces projets 
offrent   des   fonctionnalités   similaires   à   QDevelop.   Mais   à   l'époque   (juin   2006),   ils   ne   me 
convenaient   pas  totalement   et  j'ai   donc  décidé  de  démarrer  mon   propre  projet.   Le   but   était   de 
disposer dans mes deux environnements habituels, Linux et Windows
1
, d'un outil permettant de 
développer en Qt de la même manière avec un IDE unique. Car chacun des deux systèmes possèdent 
des environnements de développement performants, bien plus performants que les « petits » IDE 
dédiés. Mais le gros inconvénient est qu'ils ne fonctionnent que dans leur système d'exploitation 
respectif. Citons bien­sûr Visual Studio sous Windows et Kdevelop sous Linux. Très performants 
mais aussi limités à un seul système. Kdevelop propose de gérer des projets Qt   mais créé une 
multitude de fichiers autour et reste quand même assez compliqué à utiliser. Visual Studio quant à 
lui   n'est   officiellement   compatible   qu'avec   la   version   commerciale   de   Qt.   L'autre   impératif 
concernait   la   possibilité   de   copier   le   répertoire   d'un   projet   puis   d'ouvrir   ce   projet   dans   l'autre 
environnement sans avoir à modifier ou adapter quoi que ce soit. En créant un IDE capable de lire et 
d'écrire les fichiers projets créés par qmake, cela donne également la possibilité de compiler en 
ligne de commande un projet créé dans QDevelop (par exemple sur une machine ou il n'est pas 
installé)   et   à   l'inverse   d'ouvrir   dans   QDevelop   un   projet   précédemment   généré   en   ligne   de 
commande. Mais rester compatible avec qmake apporte quelques inconvénients. En effet les fichiers 
projet Qt peuvent contenir quelques éléments très difficiles à interpréter dans un IDE. L'exemple le 
plus significatif est la fonction for qui permet d'exécuter une action dans une boucle:
LIST = 1 2 3
for(a, LIST):exists(file.$${a}):message(I see a file.$${a}!) 
Dans l'exemple ci­dessus, tiré de la documentation de  qmake, pour chaque occurrence de la liste 
LIST va être affiché un message. Ce genre de fonction ne peut pas être traité par QDevelop. Donc 
vous   l'avez   compris,   une   compatibilité   totale   avec   les   fichiers   projet   de   Qt   n'est   pas   effective. 
Néanmoins, et même si c'est encore perfectible, la grande majorité des fichiers projets Qt peut être 
1QDevelop fonctionne sous Linux, Windows, Mac OS X, certains Unix, BSD, en 32 et 64 bits. De 
manière générale, si Qt existe pour un environnement, QDevelop également.
2
Guide d'utilisation de QDevelop
ouvert dans QDevelop. Il n'y aura bien entendu aucun problème et c'est la moindre des choses, si le 
fichier projet a préalablement été créé dans l'IDE. 
2  Les prérequis
Afin de créer et compiler des programmes, QDevelop appelle un certain nombre de programmes 
externes qui lui sont nécessaires.
2.1  Le compilateur C++
Afin de compiler QDevelop lui­même puis ensuite des projets Qt, un compilateur C++ est requis. 
Sous Linux, il suffit d'installer les paquets de développement C++ qui fourniront le compilateur g+
+ ainsi que les outils make et gdb. Sous Windows, c'est l'ensemble MinGW (qui signifie Minimal 
GNU for Windows), un portage du compilateur GNU sur cette plateforme qui fournit les mêmes 
outils cités précédemment. A noter néanmoins que make porte sous Windows le nom de  mingw32­
make afin de le différencier d'autres outils du même nom qui peuvent coexister sous Windows.
2.2  Qt
QDevelop est écrit en Qt et est destiné à construire des programmes basés sur cette même 
bibliothèque. Le minimum requis est donc que Qt soit installé dans votre environnement. QDevelop 
nécessite au minimum la version 4.2 tout en s'accommodant très bien de la version 4.3. Il existe 
plusieurs méthodes pour installer Qt en fonction de votre système.
2.2.1  Windows
Trolltech propose sur son site en téléchargement la dernière version de Qt sous deux formes, avec ou 
sans le compilateur MinGW. A noter que ce dernier est indispensable à la construction des 
programmes (à commencer par QDevelop lui­même) et que vous devez choisir la version l'intégrant 
s'il n'est pas déjà installé sur votre système. Cette version fournit la version Release de la 
bibliothèque Qt et ne permet pas le débogage. Afin de permettre le débogage des programmes, il 
sera nécessaire de recompiler Qt en version Debug. Une entrée dans le menu démarrer est 
normalement présente pour effectuer cette compilation.
2.2.2  Linux
Les distributions récentes proposent souvent les paquets de développement Qt4. Le mieux dans ce 
cas est de les installer grâce au gestionnaire de paquets habituels. La version disponible sera sans 
doute antérieure à celle qui est proposée sur le site de Trolltech mais suffira si elle est supérieure ou 
égale à 4.2. Lorsque les paquets sont proposés dans une distribution, certaines modifications 
peuvent­être apportées concernant le nom des programmes. Par exemple, sur Ubuntu Feisty, afin de 
les différencier de leur homologues Qt3, les programmes pour Qt4 sont nommés qmake­qt4, 
designer­qt4 etc. C'est pour cette raison qu'il faut configurer dans le dialogue « Outils » le nom des 
programmes Qt à appeler. Ce paramétrage sera effectué lors du premier démarrage de QDevelop.
3
Version 1.2 du 7 juil. 2008
2.2.3  Compilation de Qt
Si votre distribution Linux ne propose pas les paquets de développement de Qt ou si vous désirez 
affiner le paramétrage de la bibliothèque, une compilation à partir des sources est nécessaire. Après 
avoir téléchargé
2
 puis décompressé l'archive, déplacez­vous dans le nouveau répertoire créé. Il faut 
en premier configurer votre future version de Qt. Cela s'effectue dans un terminal (un cmd.exe sous 
Windows) en lançant la commande ./configure. QDevelop requière le support de base de données 
SQLITE afin de stocker des informations sur les projets. Afin d'activer ce support, il faut donc saisir 
:
./configure ­qt­sql­sqlite
Si vous désirez permettre le débogage de vos applications, il est nécessaire de construire Qt en 
version Debug. Dans ce cas, il faudra employer:
./configure ­qt­sql­sqlite ­debug
L'idéal étant de le faire en première fois en version Release (qui est la valeur par défaut) puis en 
version Debug afin de disposer des deux modes.
A noter que l'ensemble des options possibles peut être obtenu en entrant ./configure ­help. Une fois 
configuré, il faut construire la bibliothèque. Cela s'effectue en lançant la commande:
make (ou mingw32­make.exe sous Windows)
puis l'installer par:
make install (ou mingw32­make.exe install)
Une fois Qt installé, il reste à configurer les variables d'environnement afin de faire connaître au 
système cette nouvelle bibliothèque. Si vous avez installé Qt à partir de paquets fournis dans votre 
distribution, vous n'avez rien à faire de plus. Dans le cas contraire, il est nécessaire de configurer 
trois variables:
PATH: Cette variable existe déjà sur votre système et il suffit d'ajouter le chemin vers le 
répertoire bin de votre installation de Qt. Exemple: /usr/local/Trolltech/Qt­4.3.0/bin
QTDIR: Cette variable doit être crée et doit contenir le chemin vers votre installation de Qt. 
Exemple: QTDIR=/usr/local/Trolltech/Qt­4.3.0/
QMAKESPEC: Cette variable est utilisée par Qt pour connaître l'environnement de 
développement dans lequel il se trouve.  Il s'agit d'une combinaison indiquant la plateforme 
et le compilateur que vous employez sur votre système. Sous Linux cette variable contiendra 
probablement linux­g++ alors que sous Windows ce sera win32­g++. Exemple: 
QMAKESPEC=linux­g++
Sous Windows ces trois variables d'environnement peuvent être ajoutées dans le panneau de 
configuration. Sous Linux, le plus simple est sans doute d'ajouter ces paramètres à un script de 
connexion. Par exemple dans ma distribution Ubuntu, j'ai ajouté dans le fichier ~/.bashrc le contenu 
suivant:
2Il n'est question ici comme dans l'ensemble de ce document que de la version Open sources de Qt. 
Donc lorsqu'il est indiqué de télécharger Qt, cela sous entend la version Open Source quelque soit le 
système utilisé.
4
Guide d'utilisation de QDevelop
export PATH=/usr/local/Trolltech/Qt­4.3.0/bin:$PATH 
export QTDIR=/usr/local/Trolltech/Qt­4.3.0/ 
export QMAKESPEC=linux­g++ 
Les trois variables d'environnement ci­dessus ne sont pas indispensables si vous utilisez 
uniquement QDevelop puisque tous les chemins y sont définis. En revanche, elles sont utiles 
pour compiler en ligne de commande.
2.3  Exuberant Ctags
Ctags est un outil qui extrait des marquants dans des fichiers sources (C++ dans notre cas). Ces 
marquants, écrits dans un fichier formaté, permettent de trouver rapidement toutes les classes et les 
variables contenues dans les fichiers scannés. QDevelop peut fonctionner sans ctags mais il faut 
reconnaître que ce dernier est devenu indispensable au fil des versions. En effet, il est utilisé pour la 
complétion de code et pour renseigner l'explorateur de classes. Deux fonctionnalités très 
importantes qui apportent un confort d'utilisation dont il est difficile de se passer. Sous Windows, 
ctags peut être téléchargé à partir de la page du projet : http://ctags.sourceforge.net/
Sous Linux, ctags est présent dans les distributions. Attention néanmoins car il existe souvent sous 
Linux deux versions de ctags. Une première qui ne convient pas est destinée à l'éditeur de texte 
Emacs. La deuxième nommée ctags­exuberant est en revanche la version qu'il convient d'installer.
2.4  Gdb
Le débogueur de GNU est un programme qui donne la possibilité de déboguer des programmes 
exécutables afin de traquer les erreurs de conception. Cet outil n'est indispensable qui si vous 
désirez utiliser des outils de débogage. Dans ce cas pensez également à reconstruire la bibliothèque 
Qt afin d'y inclure les symboles de débogage.
Lors du lancement de QDevelop, la présence de ces outils est contrôlée et si l'un d'entre­eux 
est manquant, une boite de dialogue de configuration est affichée.
3  Installer QDevelop
QDevelop est disponible en téléchargement sur le site http://qdevelop.org/ sous plusieurs formats:
3.1  Depuis un dépôt Ubuntu
Si vous êtes l'heureux utilisateur d'une version de Linux Ubuntu, sachez que le programme est 
présent dans les dépôts universe. Pour l'installer, rechercher et installer qdevelop dans votre 
gestionnaire de paquets Synaptic ou en ligne de commande par:
sudo apt­get install qdevelop
3.2  Depuis les binaires
Ces paquets contiennent la dernière version stable compilée et sont disponibles pour plusieurs 
environnements: Ubuntu, Mandriva, Fedora Core etc. Une version setup  pour Windows est 
5
Zgłoś jeśli naruszono regulamin