La version
Release Candidate de Qt 4.5 vient de sortir tout juste il y a quelques jours, le 5 février 2009.
Rappel des faits
Certains d'entre vous ne connaissent peut-être pas Qt. Ce dernier est une bibliothèque logicielle développée dans le langage orienté objet C++. C'est même plus qu'une bibliothèque, en effet, on en parle même parfois d'un framework. Celui-ci a été développé par Trolltech, société qui a depuis peu changé de nom (nous allons revenir sur ce point un peu plus loin) et qui s'appelle désormais Qt Software. Outre le fait que Qt soit majoritairement utilisé afin de créer des interfaces graphiques, on peut également s'en servir pour accéder à des bases de données SQL, se connecter au réseau internet (pour y échanger des données par exemple) ou encore faire des analyses XML.

-

-
Exemples de programmes réalisés avec Qt
En début d'année 2008, l'entreprise Nokia lance une offre publique d'achat et rachète ainsi Trolltech avec Qt pour un montant total de 104 millions d'Euros. Plusieurs changements ont ainsi été effectués comme par exemple le changement de nom et de fonction de Trolltech, qui se nomme désormais "Qt Software" et qui a à présent le statut de division de Nokia. La société pouvant se permettre de supprimer quelques sources de bénéfices avec Qt, l'entreprise a placé ledit framework sous licence LGPL. Pour ne pas s'attarder là-dessus, un principal point diffère par rapport à l'ancienne licence (GPL) : on a la possibilité de faire des applications professionnelles (donc vendre ses applications) sans payer quoi que ce soit à Nokia. Autre grand changement, depuis le rachat de Trolltech, les développeurs externes peuvent contribuer au développement de Qt. Pour ce faire, le
dépôt de Qt a été rendu accessible au public.
Le Site du Zér0 propose un cours sur le C++ accessible à
cette adresse qui comporte entre autres toute une partie consacrée à l'apprentissage des bases de la programmation logicielle avec Qt (
lien). Dans ce cours, rédigé par
M@teo21, vous apprenez à créer vos fenêtres avec les classes de base, à lire une doc, à utiliser Qt Designer ainsi que Qt Linguist, à manier les boîtes de dialogue, le réseau et bien sûr, le cour comporte des parties
pure pratique avec les TPs. Nous (les deux rédacteurs de cette news (crys et zAmnellL)) sommes en train de rédiger la suite à ce cours en introduisant des notions plus poussées.
Avez-vous bien dit Release Candidate ?
Le développement d'un produit se structure généralement en cinq étapes que vous connaissez sûrement. Ces étapes permettent au produit dont il est question de s'améliorer par une série de tests pour ainsi déboucher sur une version finale stable et prête à la vente (éventuellement) et à l'emploi. On a en premier lieu le prototype, suivi de la version alpha qui souvent n'est pas destinée au grand public. Vient ensuite la version bêta soumise à un nombre de personnes toujours plus important que pour la version Alpha. C'est ensuite que voit le jour la version
Release Candidate (souvent abrégée « RC ») qui est une version concrètement stable et qui représente en quelques sortes un test de dernière minute avant la sortie en version stable. Qt 4.5 est donc actuellement à ce stade, en
RC.
Les nouveautés dans Qt 4.5
Comme tout passage d'une version d'un produit à une autre a pour conséquences des améliorations et/ou changements. Qt 4.5 propose ainsi davantage de fonctionnalités que la version 4.4. Les changements qui ont ainsi été effectués ne sont par contre pas forcément définitifs, on peut donc s'attendre à une modification du contenu de Qt 4.5 avant sa sortie en version finale en mars. Voici les modules qui disposent des modifications les plus importantes :
- Webkit
- QScriptEngineDebugger
- Qt Designer
- Qt Linguist
On remarque également diverses améliorations au niveau graphique de la librairie.
Le Webkit
Le Webkit a été mis à jour, entraînant de meilleurs résultats pour ce qui est de la compatibilité. La gestion du CSS a donc été améliorée et ce module est désormais disponible pour Windows CE. Ayant été soumis au test Acid3, qui consiste à "faire le rendu fluide d'une animation dont l'image finale doit correspondre exactement à une image de référence, avec un score de 100/100" selon Wikipédia, la nouvelle version obtiendrait près de 100/100 à ce test. La version 4.4.3 y obtenait 41/100 et Firefox 71/100 (ces deux derniers chiffres ont été inscrits selon nos tests sur la page
http://acid3.acidtests.org). Vous pouvez faire faire ce test à votre navigateur sans problème, bien qu'Internet Explorer ne permet pas de voir distinctement le résultat. À voir pour ces améliorations...
Le module graphique
Même si peu de personnes l'ont expérimenté, Qt possède un module graphique assez performant permettant de réaliser différents programmes avec qui sont relativement corrects en termes de capacités (Adobe a tout de même conçu le logiciel Photoshop à l'aide du module graphique de Qt). Par exemple, le mode transparent des fenêtres n'est plus unique à Windows et Linux : Mac OS X peut désormais à son tour bénéficier de cette fonction. Il sera compris dans notre futur big-tuto à paraître la gestion de la 2D entièrement avec Qt, donc la gestion du module graphique dont nous parlons.
QScriptEngineDebugger
Même si d'autres classes comme
QTextDocumentWriter ont fait leur apparition, nous n'allons vous en détailler qu'une seule :
QScriptEngineDebugger. Tout d'abord, avant de voir directement cette classe, il nous faut vous parler rapidement de
QScriptEngine de manière à ce que vous sachiez de quoi nous parlons. Cette classe est utile pour créer ses propres scripts. Voici un exemple d'utilisation que nous avons réalisé :
Code : C++1
2
3
4
5
6
7
8 | QGroupBox groupe;
QScriptEngine engine;
QScriptValue script_groupBox;
script_groupBox = engine.newQObject(&groupe);
engine.globalObject().setProperty("groupe", script_groupBox);
engine.evaluate("groupe.checkable = true");
qDebug() << script_groupBox.property("checkable").toBoolean();
script_groupBox.property("show").call();
|
QScriptEngine permet donc de créer des scripts personnels. Passons maintenant à la nouvelle classe. Selon la documentation, QScriptEngineDebugger fournit un deboggeur (debugger en anglais) à un moteur de script (ou QScriptEngine, comme vous préférez). En suivant le code précédent, on ajoute ceci pour rattacher un QSriptEngineDebugger :
Code : C++1
2 | QScriptEngineDebugger deboggeur;
deboggeur.attachTo(&engine);
|
Pour plus de détails, vous pouvez consulter ces pages :
Améliorations de Qt Designer et de Qt Linguist
Le meilleur progrès à nos yeux est l'apparition d'un "Embedded Design" (voir dans les préférences de Qt Designer). En effet, ceci permet de définir la résolution de l'affichage, la police, etc. En l'occurrence les paramètres par défaut de vos .ui (extension par défaut des fichiers créés avec Qt Designer). Mais concrètement, qu'est-ce qui a changé ? Eh bien pas tant de choses que ça. Nous pouvons constater une amélioration de la classe QButtonGroup ou encore la possibilité de rajouter une traduction des commentaires. À part cela, des modifications sur la simplicité d'utilisation ont été effectuées : un filtre est disponible pour rechercher une classe parmi toutes celles qui sont disponibles. De son côté, Qt Linguist, certifié pour Windows Vista, offre de nouvelles possibilités : il est désormais possible de charger et d'éditer plusieurs fichiers simultanément, ce qui permettra à ses utilisateurs de pouvoir s'en servir avec plus d'aisance. Tout comme pour Qt Designer, peu de modifications ont été effectuées malgré de nettes améliorations.
Téléchargement et liens
Il vous est donc possible de télécharger la version RC de Qt 4.5 ici :
http://www.qtsoftware.com/developer/pr [...] load-the-beta. Nous vous rappelons que cette nouvelle version sera disponible dans sa version finale et stable en mars. À vos codes !
Liens externes :
48 Participations
Connectez-vous !
Connectez-vous !
Revenir à la liste des news