Retrouvez cet article dans : Linux Magazine 90
Présentation
Les aptitudes multiplateformes de la bibliothèque Qt offrent la capacité de développer simplement sous plusieurs environnements. Dans ce contexte, il est intéressant de disposer d’un outil fonctionnant à l’identique sur tous les systèmes. QDevelop est un environnement de développement (IDE en anglais) écrit en Qt4 et spécialisé dans la programmation Qt. Simple d’emploi, mais performant, il possède un niveau agréable d’utilisation, avec les fonctionnalités classiques d’un IDE. QDevelop ne veut pas concurrencer les " poids lourds " commeDécouverte de l’interface utilisateur
En lançant l’application, on découvre une interface familière et classique aux environnements de développement disposant d’un menu déroulant et d’une barre d’icônes. Sur la gauche, l’explorateur de fichiers est destiné à recevoir les fichiers éditables, groupés par catégories. La console de sortie, située en bas de l’application, bénéficie d’une organisation par onglet et affiche les messages issus des différents traitements comme la compilation, le débogage et les variables en mode débogage. Actuellement, l’application est disponible en huit langues, dont le français. Au lancement, il reconnaît seul la langue du système installé et affiche une interface utilisateur appropriée.
Fig. 1 : L’interface utilisateur
 Le principe de plug-ins, optionnel, lui donne la faculté d’étendre ses fonctionnalités. En effet, l’utilisateur peut choisir d’installer ceux qui lui semblent utiles et ne pas charger le programme inutilement. Par exemple, le plug-in ASyle, disponible sur le site de QDevelop, peut-être téléchargé, puis installé. Il permet d’indenter et de reformater le code C++ présent dans l’éditeur. Plusieurs styles prédéfinis sont fournis comme l’indentation ANSI, K&R, Linux, GNU et la possibilité de créer son propre style de manière très fine.
Les outils externes
QDevelop contrôle, lors de son lancement, la présence des composants logiciels externes, dont il a besoin pour fonctionner correctement :
- Qt version 4 et ses principaux composants :
qmake,designer,assistantainsi que les outils de traductions :linguist,lupdateetlreleaseÂ; minGW-make.exesous Windows oumakedans les autres environnements ;gdbapportant la capacité à déboguer les programmes ;Exuberant Ctagsutilisé pour analyser les fichiers sources et remplir l’explorateur de classes.

Fig. 2 : Contrôle des logiciels externes
Sur certaines distributions Linux récentes, le lien /usr/bin/ctags pointe vers emacs ctags qui est une version qui ne convient pas. Dans ce cas, il convient de modifier le chemin et d’indiquer /usr/bin/ctags-exuberant dans le dialogue de contrôle des outils externes.
Fichiers projet
Une des qualités de QDevelop est d’être non intrusif. En effet, le format des fichiers projets créés ou modifiés est identique à celui utilisé par qmake, l’outil fourni avec Qt permettant de créer facilement les fichiers Makefile nécessaires à la compilation des projets. Ainsi, un projet créé avec QDevelop pourra être compilé sans problème en ligne de commande. De la même façon, un projet Qt standard sera ouvrable et modifiable dans l’IDE. Pour rappel, les fichiers projet de Qt sont identiques quelle que soit la plate-forme. Certaines restrictions existent néanmoins au niveau de la compatibilité de QDevelop avec les fichiers projets. En effet, certaines variables, notamment celles contenant les signes $$ ne sont pas prises en compte par l’application. Il en va de même pour les fonctions comme- basé sur un
QDialogÂ; - basé sur un
QMainWindowÂ; - projet vide : l’utilisateur doit ajouter lui-même les fichiers au projet.
Éditer les fichiers
L’édition d’un fichier présent dans l’explorateur peut-être lancé par un double-clic ou en choisissant l’option équivalente dans le menu contextuel. Celle-ci est effectuée dans l’éditeur intégré pour les fichiers sources et d’en-têtes C++. Cet éditeur dispose des fonctionnalités que l’on peut attendre d’un éditeur moderne : coloration syntaxique, complétion de code, indentation automatique, etc. En haut de l’éditeur, se trouvent deux listes déroulantes qui contiennent les classes et les méthodes présentes dans le fichier. En choisissant une méthode, l’éditeur se positionne dans le source à l’emplacement correspondant. Ce dispositif astucieux permet de se déplacer rapidement à l’intérieur de l’éditeur. Lorsqu’il s’agit d’un fichier dialogue (Compiler
La compilation des projets est réalisée en utilisantDéboguer
En phase de mise au point, le débogage des programmes peut se révéler utile, voire indispensable. L’application donne la possibilité de déboguer en s’interfaçant Ã

 Fig. 3 : L’affichage des variables en mode débogage
Gdb permet l’affichage de la pile des appels par la commande backtrace qui liste chacune des fonctions traversées lors de l’exécution et permet ainsi de débusquer les erreurs de programmation. QDevelop propose cette fonctionnalité en affichant dans une fenêtre le résultat de la commande. Un clic sur une des lignes affiche, lorsque c’est possible, le fichier source correspondant dans le projet.
Sous-classer les dialogues
Les fichiers dialogues (.ui) créés avec Qt Designer contiennent du XML et nécessitent d’être transformés en fichiers d’en-têtes C++ afin d’être compilés avec le projet. Pour les dialogues du projet, cette transformation est lancée automatiquement au moment de la compilation. Cette conversion qui rend les dialogues compréhensibles par le compilateur ne permet pas d’entrer le code à exécuter par ces dialogues. Une fonctionnalité intéressante de QDevelop est de fournir une assistance à l’implémentation des dialogues. En pratique, un clic sur le fichier (.ui) dans l’explorateur suivi du choix " Sous-classage du dialogue... " affiche la fenêtre de sous-classage. Cette dernière liste tous les widgets présents dans le dialogue et permet, pour chacun d’eux, de choisir les signaux à implémenter (figure 4).
Le sous-classage s’effectue dans deux nouveaux fichiers (.h) et (.cpp) contenant une nouvelle classe héritant du fichier d’en-tête généré lors de la compilation. La nouvelle implémentation contient pour chacune des lignes sélectionnées, un nouveau slot associant le nom de l’objet et le signal choisi. C’est le mécanisme d’autoconnexion des objets qui est utilisé pour le sous-classage des dialogues. Par exemple, un bouton nommé resultat avec le signal clicked() sélectionné provoquera la création de la méthode void on_resultat_clicked().

Fig. 4Â : Le sous-classage des dialogues
Cette méthode sera appelée lors de l’exécution lorsque le bouton sera cliqué par l’utilisateur. Ce principe est valable pour les widgets comme pour les entrées de menu ou les boutons de barre d’outils.
Appeler Qt Assistant
Qt est livré avec une excellente documentation de référence accessible à partir d’un navigateur ou à l’aide de l’outil livré avec Qt. Lors de l’édition de code source, QDevelop permet de simplifier la recherche de documentation. En effet, en pressant la touche [F1] sur un mot clé de la bibliothèque,Conclusion
QDevelop est un projet jeune débuté en juin 2006, mais déjà assez complet et pleinement fonctionnel. Il vous permettra de créer facilement des projets Qt en utilisant l’assistant de création de projet ou d’ouvrir des projets existants. Mais surtout, son aptitude à être compilé et utilisé sur plusieurs plateformes permettra au développeur de retrouver un univers identique d’un environnement à l’autre.
Références :
- Page d’accueil de Qdevelop : http://qdevelop.org
- Trolltech, la société éditrice de Qt : http://www.trolltech.com
- Le site de la communauté francophone : http://qtfr.org
 Retrouvez cet article dans : Linux Magazine 90





Donnez votre avis
Vous devez avoir ouvert une session pour écrire un commentaire.