IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Qt

De WikiDeveloppez.

(Différences entre les versions)
(→Qt SDK)
(→Qt SDK)
Ligne 27 : Ligne 27 :
* Windows,  
* Windows,  
* Mac OS X.
* Mac OS X.
 +
 +
De nouvelles versions sortent régulièrement, apportant les dernières modifications apportées à Qt et à [[Qt Creator]].
 +
 +
La dernière version en date, la 2009.5, a apporté [[Qt Creator]] 1.3 et Qt 4.6.0. Elle est sortie le 1e décembre 2009. Elle avait été précédée par une RC 1, le 17 novembre 2009, avec les dernières versions de développement sorties à cette date.
== Modules ==
== Modules ==

Version du 17 décembre 2009 à 12:12

Qt est un framework logiciel très complet. Il est prévu pour être simple à utiliser, et multiplateforme. En effet, un code qui fonctionne sur une plateforme fonctionnera sans problème sur toute autre plateforme supportée par Qt.

Il est développé en C++, mais peut très bien être utilisé avec Python, grâce à PyQt, ou bien en Java, avec Qt Jambi.

Il est distribué sous plusieurs licences : GPL (v3), LGPL (v2.1) et QPL.

Même si ce n'est pas sa principale orientation, Qt peut être utilisé dans l'embarqué grâce à Qt Extended.

Grâce à un outil spécifique, le moc, Qt peut gérer les signaux, les slots ou l'introspection. Cet outil est historique : il est présent dès la première version de Qt, et permettait, à l'époque, d'uniformiser le support des templates par les compilateurs

Attention ! Qt n'est pas un sigle ! Il s'écrit avec le Q majuscule et le t minuscule. Ceci se prononce cute, l'anglais pour mignon.

Quelques EDI sont prévus pour être utilisés avec Qt : Monkey Studio, Qt Creator par exemple. Nokia fournit aussi des plug-ins d'intégration à Visual Studio et à Eclipse.

Depuis les Qt Developer Days 2009, Nokia propose une certification Qt : le Qt Essentials Curriculum Block 1.0. Cette certification concerne les bases du développement avec Qt, mais nécessite une expérience avec Qt.

Sommaire

Qt SDK

Dernièrement, Nokia a lancé le Qt SDK, qui contient un IDE (Qt Creator), un compilateur (GCC) et une version de Qt compilée.

Ce SDK est disponible pour 4 plateformes :

  • Linux 32 bits (x86),
  • Linux 64 bits (x86_64),
  • Windows,
  • Mac OS X.

De nouvelles versions sortent régulièrement, apportant les dernières modifications apportées à Qt et à Qt Creator.

La dernière version en date, la 2009.5, a apporté Qt Creator 1.3 et Qt 4.6.0. Elle est sortie le 1e décembre 2009. Elle avait été précédée par une RC 1, le 17 novembre 2009, avec les dernières versions de développement sorties à cette date.

Modules

Ce framework est constitué d'une myriade de modules, disponibles dès Qt4.

  • QtCore
  • QtGui
  • QtNetwork
  • QtOpenGL
  • QtSql
  • QtXml
  • QtDesigner
  • QtAssistant
  • QtDBus (à partir de Qt 4.2)
  • QtScript (à partir de Qt 4.3)
  • QtSvg (à partir de Qt 4.1)
  • QtUiTools (à partir de Qt 4.1)
  • QtTest (à partir de Qt 4.1)
  • QtWebKit (à partir de Qt 4.4)
  • Phonon (à partir de Qt 4.4)
  • QtScriptTools (à partir de Qt 4.5)

À ceux-ci s'ajoutent deux modules pour l'ActiveX.

  • QAxContainer
  • QAxServer

QtCore

Il s'agit du module principal de Qt, qui contient toutes des fonctions utiles, sans le moindre rapport direct avec les GUI.

QtGui

Il s'agit du module de conception de GUI, qui se base sur le principe des widgets.

QtNetwork

Il s'agit du module qui gère le réseau et le support de quelques protocoles réseau, comme HTTP ou FTP.

QtSql

Il s'agit de classes d'intégration de SGBD dans Qt, des interfaces pour tous les systèmes de base de données possibles.

Pour pouvoir connecter une application à un SGBD particulier, il faut compiler le plug-in spécifique. Voici les SGBD supportés officiellement :

QtOpenGL

Il s'agit de classes de support de OpenGL pour la 3D, qui peut donc parfaitement s'intégrer dans toute application Qt sans besoin de connaissances spécifiques d'OpenGL.

QtXml

Il s'agit de classes qui permettent d'utiliser les API DOM et SAX dans Qt.

QtDesigner

Il s'agit d'un ensemble de classes qui sert à étendre les fonctionnalités de Qt Designer.

QtAssistant

Il s'agit d'un ensemble de classes qui permet d'utiliser le système d'aide de Qt Assistant à l'intérieur d'une application.

QtDBus

Il s'agit d'un ensemble de classes qui facilitent les échanges entre les processus grâce à un démon DBus (originalement prévu pour UNIX, il a été porté pour Windows par l'équipe KDE).

QtScript

Il s'agit d'un ensemble de classes qui permettent l'évaluation de scripts Qt, qui utilisent un dérivé de l'ECMAScript, la version standardisée de JavaScript.

Désormais, pour des raisons de performances, QtScript utilise le module JavaScript de Webkit, JavaScriptCore.

QtScriptTools

Il s'agit d'un ensemble de classes qui apporte des fonctionnalités supplémentaires aux scripts Qt.

QtSvg

Il s'agit d'un ensemble de classes qui permet l'affichage de fichiers SVG.

QtUiTools

Il s'agit d'un ensemble de classes qui permet d'utiliser des formulaires de Qt Designer dans une application.

QtTest

Il s'agit d'un ensemble léger de classes qui permet d'effectuer des tests unitaires.

QtWebKit

Il s'agit d'une intégration à Qt du moteur de rendu WebKit, notamment utilisé par Google Chrome.

Phonon

Il s'agit d'un ensemble de classes qui permettent d'utiliser le framework Phonon dans une application.

Outils disponibles avec Qt

Qt est un framework complet, qui propose des méthodes simples, mais non simplistes, pour simplifier le développement. Par exemple, un designer graphique ou un éditeur de traductions.

Qt Designer

L'éditeur graphique d'interfaces utilisateurs.

Qt Linguist

L'éditeur de traductions.

moc

L'outil permettant de gérer l'entièreté des paradigmes de Qt (signaux et slots notamment).

lupdate

L'outil permettant de récupérer les chaînes à traduire d'une application. Il peut les extraire des fichiers d'interface (.ui) et des sources du programme (pour autant que les chaînes à traduire soient protégées par tr()).

lrelease

L'outil permettant de compiler les traductions pour un chargement plus rapide.

qmake

L'outil de génération : il automatise les appels aux outils de compilation requis.

Les certifications Qt

L'équipe de développement du framework Qt propose à ses développeurs une certification leur permettant de valider leurs compétences sur la technologie Qt. Actuellement, seule la certification Qt Essentials est disponible. Elle certifie que le candidat sait comment Qt fonctionne et peut développer une application. Ce niveau de certification concerne les aspects majeurs de Qt, principalement les modules QtCore et QtGui. La certification est un questionnaire à choix multiples de 50 questions avec des questions à réponse unique et des questions à réponses multiples. La durée du test est de 60 minutes (avec 30 minutes supplémentaires pour les non-anglophones d'origines ou pour les handicapés qui peuvent prouver leur handicap). La validation de la certification dépend du nombre de points validés par le candidat, mais ce nombre de points n'est pas encore fixé. Le nombre de points attribués à chaque question est différent en fonction du niveau de la question. La certification Qt Essentials coûte 149€ (199$). Une réduction de 50 % est attribuée au candidat qui échoue au premier examen. Il devrait y avoir une réduction pour les étudiants dans le futur.

Voir aussi :

Ressources disponibles

La rubrique Qt de [developpez.com Developpez.com] vous propose quelques ressources pour faciliter votre utilisation de Qt.

Récupérée de « https://wiki.developpez.com/Qt »
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -