FAQ Qt
FAQ QtConsultez toutes les FAQ
Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021
Qt a été découpé en plusieurs sous-bibliothèques, appelées modules, relativement indépendants les uns des autres. Depuis Qt 5, ces modules sont séparés en deux listes : d'un côté, les modules de base forment Qt Essentials, les fondations de Qt (dans le sens que ces fonctionnalités sont utiles dans bon nombre d'applications), disponibles sur toutes les plateformes avec lesquelles Qt est compatible ; de l'autre, les extensions de Qt Add-ons.
Les modules essentiels de Qt 5 sont :
- Qt Core, les éléments essentiels du fonctionnement de toutes les bibliothèques Qt ;
- Qt GUI, les éléments graphiques de bas niveau pour les autres bibliothèques Qt ;
- Qt Multimedia, les fonctionnalités multimédias de bas niveau ; Qt Multimedia Widgets utilise ce contenu multimédia dans des interfaces à base de widgets) ;
- Qt Network, des classes pour la programmation réseau ;
- Qt Quick, une manière de programmer des interfaces graphiques déclaratives ; Qt QML, les composants de très bas niveau ; Qt Quick Controls, des composants graphiques très utiles ; Qt Quick Dialogs, des boîtes de dialogue ; Qt Quick Layouts, des mécanismes de répartition des composants. Pour Qt 4, seules les fonctionnalités de base sont disponibles (dans le module Qt Declarative) ;
- Qt SQL, l'intégration de bases de données dans Qt ;
- Qt Test, des outils pour réaliser des tests unitaires ;
- Qt Widgets, les éléments graphiques de base des interfaces graphiques.
Les modules d'extension de Qt 5 sont :
- Active Qt, extension pour écrire des composants et serveurs ActiveX (uniquement sous Windows) ; il correspond à QAxContainer et QAxServer pour Qt 4 ;
- Qt 3D, moteur 3D en temps réel, complet et extensible (dès Qt 5.7) ;
- Qt Bluetooth, accès à d'autres périphériques par Bluetooth (dès Qt 5.2) ;
- Qt Canvas 3D, dessin en 3D pour Qt Quick (Qt 5.5) ;
- Qt Charts, affichage de graphiques (dès Qt 5.7) ;
- Qt Concurrent, primitives de bas niveau pour la concurrence ;
- Qt Data Visualization, affichage de graphiques tridimensionnels (dès Qt 5.7) ;
- Qt DBus, communication interprocessus avec D-Bus ;
- Qt Graphical Effects, effets graphiques 2D pour Qt Quick (Qt 5) ;
- Qt Image Formats, lecture des formats d'image moins courants (Qt 5) ;
- Qt Location, composants Qt Quick pour l'affichage de cartes (dès Qt 5.6) ;
- Qt NFC, accès à d'autres périphériques par NFC (dès Qt 5.2) ;
- Qt OpenVG, accès à OpenVG (uniquement pour Qt 4) ;
- Qt OpenGL, accès à OpenGL (déconseillé avec Qt 5 : les fonctionnalités ont été déplacées dans Qt GUI) ;
- Qt Positioning, récupération des informations de position (dès Qt 5.2) ;
- Qt Print Support, impression sur des imprimantes locales et distantes, y compris pour la génération de PDF (dès Qt 5.1) ;
- Qt Purchasing, achat à l'intérieur des applications mobiles (dès Qt 5.7) ;
- Qt Quick Controls 2, deuxième version des Qt Quick Controls (dès Qt 5.7) ;
- Qt Quick 2D Renderer, moteur de rendu purement logiciel pour Qt Quick, sans dépendance envers OpenGL (dès Qt 5.7) ;
- Qt Script et Qt ScriptTools, exécution de scripts Qt Script (déconseillé avec Qt 5 : Qt QML fournit un moteur JavaScript) ;
- Qt Sensors, récupération des données de différents capteurs (dès Qt 5.1) ;
- Qt Serial Port, communication par le port série (dès Qt 5.1) ;
- Qt SVG, manipulation de fichiers SVG ;
- Qt Virtual Keyboard, clavier virtuel pour Qt Quick et gestion de différentes méthodes d'entrée (dès Qt 5.7) ;
- Qt WebChannel, communication entre des objets Qt (y compris Qt Quick) et des navigateurs à travers Qt WebSockets (dès Qt 5.4) ;
- Qt WebEngine, moteur Web complet (dès Qt 5.4) ;
- Qt WebSockets, implémentation du protocole WebSockets (dès Qt 5.3) ;
- Qt WebView, affichage de contenus Web par le moteur par défaut de la plateforme utilisée (dès Qt 5.5) ;
- Qt XML, contenant les classes utiles à la lecture et à l'écriture de fichiers XML avec les API DOM et SAX ;
- Qt XML Patterns, moteur XQuery et XPath pour le XML et les modèles de données personnalisés ;
- Qt Declarative, moteur d'exécution Qt Quick 1 ;
- Phonon, framework multimédia (uniquement pour Qt 4) ;
- Qt 3 Support, réutilisation presque transparente des anciennes classes de Qt 3 (uniquement pour Qt 4) ;
- Qt Designer, extension de Qt Designer ;
- Qt UI Tools, utilisation des fichiers .ui de Qt Designer dans des applications ;
- Qt Help, exploitation de système d'aide de Qt dans des applications.
Cette dernière comprend également des modules d'extension pour certaines plateformes : Qt Android Extras, Qt Mac Extras, Qt Windows Extras, Qt X11 Extras.
Chaque module peut être ajouté ou retiré des projets Qt en modifiant le fichier de projet .pro (avec la variable Qt), sachant que Qt Core et Qt GUI sont ajoutés par défaut.
Lien : La liste des modules Qt
Qt intègre par défaut les modules Qt Core et Qt GUI à vos projets. Si vous souhaitez utiliser d'autres modules, éditez votre fichier PRO et modifiez la variable QT. Vous pouvez aussi retirer volontairement le module Qt GUI lié par défaut (dans le cas d'une application Qt).
# Ajouter le module SQL
QT += sql
# Retirer le module GUI
QT -= gui
Voici quelques modules de Qt ainsi que la valeur à ajouter à QT si vous les utilisez :
- core (inclus par défaut) : Qt Core ;
- gui (inclus par défaut) : Qt GUI ;
- multimedia : Qt Multimedia ;
- network : Qt Network.
Pour savoir quel module contient la classe Qt que vous souhaitez utiliser, reportez-vous à la documentation officielle Qt et, plus précisément, à la liste des modules. Chaque classe possède un en-tête formaté de la manière suivante :
Nom_de_la_classe Class Reference
Module_contenant_la_classe