Qt - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Qt
Logo de Qt
Développeur Qt Development Frameworks/Nokia
Dernière version 4.6.3 [+/-]
Version avancée 4.7 Release Candidate [+/-]
Écrit en C++
Environnements GNU/Linux, Windows, Windows CE, Mac OS X, BSD, Unix, Symbian OS, Maemo
Type Bibliothèque logicielle
Licences GNU GPL v3, GNU LGPL 2.1 à partir de Qt 4.5
Site Web http://qt.nokia.com/

Qt est un framework orienté objet et développé en C++ par Qt Development Frameworks, filiale de Nokia. Elle offre des composants d'interface graphique (widgets), d'accès aux données, de connexions réseaux, de gestion des fils d'exécution, d'analyse XML, etc. Qt est par certains aspects un framework lorsqu'on l'utilise pour concevoir des interfaces graphiques ou que l'on architecture son application en utilisant les mécanismes des signaux et slots par exemple.

Qt permet la portabilité des applications qui n'utilisent que ses composants par simple recompilation du code source. Les environnements supportés sont les Unix (dont Linux) qui utilisent le système graphique X Window System, Windows et Mac OS X. Le fait d'être une bibliothèque logicielle multiplate-forme attire un grand nombre de personnes qui ont donc l'occasion de diffuser leurs programmes sur les principaux OS existants.

Qt est notamment connu pour être la bibliothèque sur laquelle repose l'environnement graphique KDE, l'un des environnements de bureau les plus utilisés dans le monde Linux.

Histoire

Ancien logo de Qt

C'est au Norwegian Institute of Technology à Trondheim que Haavard Nord (CEO de Trolltech) et Eirik Chambe-Eng (président de Trolltech) se rencontrent. En 1988, Haavard Nord est chargé par une entreprise suédoise de développer une bibliothèque logicielle en C++ pour gérer une interface graphique, c'est la première fois qu'il commence à aborder le sujet. Deux ans plus tard, avec Chambe-Eng, ils développent une application multiplate-forme (Unix, Macintosh et Windows) et commencent sérieusement à réfléchir à la conception d'une bibliothèque graphique multi-plateforme généraliste.

En 1991, ils entament le développement de cette bibliothèque. L'année suivante, Chambe-Eng propose le principe des « signaux et slots », qui devient la pierre angulaire de Qt. Et en 1993, le noyau de Qt est prêt et permet aux informaticiens de développer leurs propres composants graphiques. C'est à la fin de cette année que Haavard Nord propose de créer une entreprise pour commercialiser leur bibliothèque.

Quasar Technologies est créé le 4 mars 1994 et renommé six mois plus tard en Troll Tech, puis Trolltech, puis Qt Software et enfin Qt Development Frameworks. Les débuts sont particulièrement difficiles financièrement. Mais ils ont la chance d'être mariés : leurs femmes subviennent à leurs besoins.

Le projet a été nommé Qt parce que le caractère « Q » était joli dans l'écriture Emacs de Haavard, et le « t » provient de Xt Xtoolkit. Le tout se prononçant en anglais cute, ce qui se traduit par « mignon ». Le « t » étant minuscule, ne pas prononcer cutie. Ce n'est pas un sigle (QT).

C'est en avril 1995 que Trolltech a son premier client, l'entreprise norvégienne Metis. Et durant presque un an, elle n'en a pas d'autre, rendant l'entreprise très fragile financièrement. Son second client, l'Agence spatiale européenne (ESA), lui achète dix licences en mars 1996.

Qt1

Le 26 mai 1995 est annoncée la première version publique de Qt sur le newsgroup comp.os.linux.announce. Et un an plus tard la version 0.97, puis le 24 septembre 1996 la version 1.0 est publiée et annoncée quelques jours plus tard.

C'est en 1997 que le projet KDE est lancé par Matthias Ettrich (qui est embauché par Trolltech l'année suivante). Ce dernier prend la décision d'utiliser Qt comme bibliothèque de base. Le fait qu'un projet de cette envergure utilise Qt sera une très bonne publicité pour Trolltech et sa bibliothèque. Depuis, les liens entre Trolltech et KDE n'ont fait que se renforcer.

Qt2

La seconde version majeure de Qt est publiée en juin 1999 et une version pour les systèmes embarqués, Qt/Embedded, connue depuis sous le nom de Qtopia, est publiée en 2000. Cette dernière version est conçue pour Linux et utilise directement son framebuffer, sans passer par le système de fenêtrage X11 (qui est inadapté pour les systèmes embarqués).

Qt3

Les deux premières versions majeures de Qt sont disponibles uniquement pour Unix et Windows, le support de Mac OS X arrive avec la version 3.0, publiée en 2001. Par rapport à la version 2.0, cette nouvelle version apporte un meilleur support de l'internationalisation, de l'Unicode ou encore des expressions rationnelles comme en Perl.

Qt4

Le 28 juin 2005, la version 4 est publiée et améliore notamment le moteur de rendu, désormais appelé Arthur, la séparation entre données et présentation et sépare la bibliothèque en modules :

  • QtCore : pour les fonctionnalités non graphiques utilisées par les autres modules ;
  • QtGui : pour les composants graphiques ;
  • QtNetwork : pour la programmation réseau ;
  • QtOpenGL : pour l'utilisation d'OpenGL ;
  • QtSql : pour l'utilisation de base de données SQL ;
  • QtXml : pour la manipulation et la génération de fichiers XML ;
  • QtDesigner : pour étendre les fonctionnalités de Qt Designer, l'assistant de création d'interfaces graphiques ;
  • QtAssistant : pour l'utilisation de l'aide de Qt;
  • Qt3Support : pour assurer la compatibilité avec Qt 3.

À cela s'ajoute pour la version commerciale sous Windows deux autres modules liés à l'utilisation d'ActiveX : QAxContainer et QAxServer.

Avec l'évolution de Qt 4, d'autres modules sont conçus :

  • QtDBus : pour la communication inter-processus en utilisant D-Bus (uniquement sous Unix à partir de Qt 4.2) ;
  • QtSvg : pour l'affichage d'images aux formats SVG (à partir de Qt 4.1) ;
  • QtUiTools : pour charger dynamiquement les interfaces graphiques créées avec Qt Designer (à partir de Qt 4.1) ;
  • QtTest : pour effectuer des tests unitaires (à partir de Qt 4.1) ;
  • QtScript : pour l'évaluation de scripts utilisant Qt Script (à partir de Qt 4.3) ;
  • QtWebKit : portage du moteur de rendu web WebKit (à partir de Qt 4.4) ;
  • QtXmlPatterns : pour manipuler des documents XML via XQuery et XPath (à partir de Qt 4.4) ;
  • Phonon : intégration de Phonon, framework multimédia de KDE 4, développé en collaboration avec la communauté KDE (à partir de Qt 4.4) ;
  • QtHelp : remplace le module QtAssistant en permettant d'utiliser le format d'aide de Qt au sein des applications (à partir de Qt 4.4) ;
  • QtScriptTools : divers outils pour QtScript comme un débogueur (à partir de Qt 4.5) ;
  • QtMultimedia : diverses classes offrant des fonctionnalités multimédia de bas niveau comparées à Phonon (à partir de Qt 4.6) ;
  • QtOpenVG : permet d'utiliser, si elle est présente, l'accélération matérielle d'OpenVG pour les images vectorielles en 2D (à partir de Qt 4.6).

Le 28 janvier 2008, Nokia lance une OPA amicale pour racheter Qt et Trolltech. Trolltech, renommé en Qt Software, devient une division de Nokia. Dès lors, Nokia prend la décision en janvier 2009 d'abaisser le maximum de barrières pour faciliter l'adoption de Qt, qui depuis est utilisé par leurs développements en interne :

  • ajout d'une licence plus permissive que la GPL, la LGPL ;
  • ouverture du développement à des développeurs externes en rendant accessible le dépôt de Qt.
  • Qt 4.0 est sorti le 28 juin 2005.
  • Qt 4.1 est sorti le 19 décembre 2005.
  • Qt 4.2 est sorti le 4 octobre 2006.
  • Qt 4.3 est sorti le 30 mai 2007
  • Qt 4.4 est sorti le 6 mai 2008
  • Qt 4.5 est sorti le 3 mars 2009.
  • Qt 4.6 est sorti le 1 décembre 2009.
Page générée en 0.164 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise