Qt
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 (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et commercialisés par Apple, dont la version la plus récente (Mac OS X 10.5 dit 'Leopard' fin 2007) est installée sur tous les Macs vendus actuellement....), BSD, Unix, Symbian OS (Symbian OS est un système d'exploitation pour téléphones portables (on parle de "Smartphone") et PDA conçu par Symbian ltd. Il est l'héritier du système d'exploitation Epoc32...), Maemo
Type Bibliothèque logicielle (En informatique, une bibliothèque ou librairie[1] logicielle (ou encore, bibliothèque de programmes) est un ensemble de fonctions utilitaires, regroupées et mises à disposition afin de...)
Licences GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.) GPL v3, GNU LGPL 2.1 à partir de Qt 4.5
Site Web (Un site Web est un ensemble de pages Web hyperliées entre elles et mises en ligne à une adresse Web. On dit aussi site Internet par métonymie, le World...) http://qt.nokia (Nokia est une entreprise de télécommunications finlandaise. Elle est le plus grand constructeur mondial de téléphones mobiles (devant Motorola et Samsung en 2005, avec près de...).com/

Qt est un framework (Un framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit...) orienté objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui...) et développé en C++ par Qt Development (Development est une revue scientifique bimensuelle à comité de lecture couvrant tous les champs de la génétique évolutive du développement allant de la biologie cellulaire, des cellules souches, la biologie...) Frameworks, filiale de Nokia. Elle offre des composants d'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre pour pouvoir fonctionner correctement.) graphique (widgets), d'accès aux données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.), 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 (L’architecture peut se définir comme l’art de bâtir des édifices.) son application en utilisant les mécanismes des signaux et slots par exemple.

Qt permet la portabilité (Selon le contexte, le mot portabilité peut avoir plusieurs significations :) des applications qui n'utilisent que ses composants par simple recompilation du code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain...). Les environnements supportés sont les Unix (dont Linux) qui utilisent le système graphique X Window System (X Window System (communément appelé X Window ou X11 ou plus simplement X) est un système qui gère l'interaction homme-machine par l'écran, la souris et le clavier de certains ordinateurs en réseau. C'est le...), Windows et Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu pour être le premier système grand public ayant une interface graphique...) X. Le fait d'être une bibliothèque logicielle multiplate-forme (Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plates-formes, c’est-à-dire le couple liant...) attire un grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) 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 (Un environnement graphique est, en informatique, ce qui est affiché en mode pixel au moniteur d'ordinateur et sur lequel l’utilisateur peut agir avec différents périphériques...) KDE, l'un des environnements de bureau les plus utilisés dans le monde (Le mot monde peut désigner :) Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le noyau Linux. Par extension, Linux désigne...).

Histoire

Ancien logo de Qt

C'est au Norwegian Institute of Technology à Trondheim que Haavard Nord (Le nord est un point cardinal, opposé au sud.) (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 (Macintosh (prononcé /makintɔʃ/) ou Mac est une série de différentes familles d'ordinateurs personnels conçus,...) 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 (Une année est une unité de temps exprimant la durée entre deux occurrences d'un évènement lié à la révolution de la Terre autour du Soleil.) 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 (Le mois (Du lat. mensis «mois», et anciennement au plur. «menstrues») est une période de temps arbitraire.) plus tard en Troll Tech, puis Trolltech (Trolltech (qui s'appelait autrefois Quasar Technologies) est une entreprise d'informatique norvégienne basée à Oslo.), 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 (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration...) 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 (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) 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 (Le mot client a plusieurs acceptations :), 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 (L’Agence spatiale européenne (ASE) (en anglais European Space Agency : ESA) est une agence spatiale intergouvernementale fondée le 31 mai 1975....) (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 (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le ciel. Son début (par rapport à minuit...) 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 (L'envergure est la distance entre les extrémités des ailes. Le terme est valable pour définir un oiseau, un chiroptère, un avion (ou planeur).) utilise Qt sera une très bonne publicité (Bien que le terme (Werbung en allemand, Publicity et Advertising en anglais) désignât d'abord le mot qui aux yeux d'Habermas qualifie la Modernité et la Démocratie —( Publicité,...) pour Trolltech et sa bibliothèque. Depuis, les liens entre Trolltech et KDE n'ont fait que se renforcer.

Qt2

La seconde ( Seconde est le féminin de l'adjectif second, qui vient immédiatement après le premier ou qui s'ajoute à quelque chose de nature identique. La seconde est une unité de mesure du temps. La seconde d'arc...) 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 (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) 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 (Unicode est une norme informatique, développée par le Consortium Unicode, qui vise à donner à tout caractère de n’importe quel système...) 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 (Un moteur de rendu (rendering engine) est un composant logiciel permettant de générer des images à partir de données diverses. C'est un terme générique utilisé dans...), désormais appelé Arthur, la séparation (D'une manière générale, le mot séparation désigne une action consistant à séparer quelque chose ou son résultat. Plus particulièrement il est employé dans plusieurs domaines :) 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 (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).) réseau ;
  • QtOpenGL : pour l'utilisation d'OpenGL ;
  • QtSql : pour l'utilisation de base de données (En informatique, une base de données (Abr. : « BD » ou « BDD ») est un lot d'informations stockées dans...) 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 informatique, les communications inter processus (Inter-Process Communication ou IPC) regroupent un ensemble de mécanismes permettant à des...) en utilisant D-Bus (uniquement sous Unix à partir de Qt 4.2) ;
  • QtSvg : pour l'affichage (L' affichage désigne l'application d'une surface de papier script dans un lieu public(et non du foyer)sur un support destiné à son émission, externe ou interne, ce qui en fait un média à part entière sans contexte...) 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 (Un moteur (du latin mōtor : « celui qui remue ») est un dispositif qui déplace de la matière en apportant de la puissance. Il...) de rendu (Le rendu est un processus informatique calculant l'image 2D (équivalent d'une photographie) d'une scène créée dans un logiciel de modélisation 3D comportant à la fois des objets et des sources de...) web WebKit (WebKit est une bibliothèque logicielle permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels. Elle est disponible sous licence BSD et GNU...) (à 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 (Le mot multimédia est apparu vers la fin des années 1980, lorsque les CD-ROM se sont développés. Il désignait alors les applications qui, grâce à la mémoire du CD et aux capacités de...) 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 (L'accélération désigne couramment une augmentation de la vitesse ; en physique, plus précisément en cinématique, l'accélération est une grandeur vectorielle qui indique la...) 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 (La division est une loi de composition qui à deux nombres associe le produit du premier par l'inverse du second. Si un nombre est non nul, la fonction "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.344 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique