Qt Core
Le module « Qt Core » ajoute les fonctionnalités suivantes au C++ :
- un mécanisme très puissant permettant une communication transparente entre objets, appelé « signaux et slots »
- des propriétés d'objets interrogeables et personnalisables
- des arborescences d'objets hiérarchiques et interrogeables qui organisent la propriété des objets de manière naturelle grâce à des pointeurs protégés (QPointer)
- un transtypage dynamique fonctionnant au-delà des limites des bibliothèques
Les pages suivantes fournissent plus d’informations sur les fonctionnalités principales de Qt Core :
- Le système de méta-objets
- Le système de propriétés
- Le modèle d'objet
- Arbres d'objets et propriété
- Signaux et slots
Utilisation du module
Pour utiliser l'API C++ d'un module Qt, il faut lier le code à la bibliothèque du module, soit directement, soit via d'autres dépendances. Plusieurs outils de compilation prennent cela en charge, notamment CMake et qmake.
Compilation avec CMake
Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)Pour plus de détails, consultez la présentation « Compilation avec CMake ».
Compilation avec qmake
Si vous utilisez qmake pour compiler vos projets, ` Qt Core ` est lié par défaut.
Programmation multithread et concurrente
Qt prend en charge le multithreading grâce à des classes de threads indépendantes de la plate-forme, un mécanisme de publication d’événements sécurisé pour les threads et des connexions signal-slot entre les threads. La programmation multithread est également un paradigme utile pour effectuer des opérations chronophages sans bloquer l’interface utilisateur d’une application.
La page « Multithreading dans Qt » contient des informations sur l’implémentation des threads dans les applications. Des classes concurrentes supplémentaires sont fournies par le Qt Concurrent module.
Entrées/sorties, ressources et conteneurs
Qt fournit un système de ressources permettant d’organiser les fichiers et les éléments d’une application, un ensemble de conteneurs, ainsi que des classes pour la réception des entrées et l’affichage des sorties.
De plus, Qt Core fournit un mécanisme indépendant de la plate-forme permettant de stocker des fichiers binaires dans l'exécutable de l'application.
Frameworks supplémentaires
Qt Core fournit également certains des principaux frameworks de Qt.
- Le framework d'animation
- Prise en charge de JSON dans Qt
- Prise en charge de CBOR dans Qt
- Communication inter-processus
- Comment créer des plugins Qt
- Le système d'événements
- Autorisations des applications
Référence
- C++ Classes
- API CMake
Évolution des modules
La section «Modifications apportées à l'Qt Core » répertorie les modifications importantes apportées à l'API et aux fonctionnalités du module pour la série Qt 6 de Qt.
Licences et mentions de copyright
Qt Core est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous licence de logiciel libre : la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Voir Licences Qt pour plus de détails.
Les exécutables sous Windows peuvent être liés à la bibliothèque QtEntryPoint. Cette bibliothèque est disponible sous des licences commerciales ainsi que sous la licence BSD à 3 clauses « New » ou « Revised ».
Par ailleurs, les « Qt Core » (modules de démarrage) de Qt 6.12.0 peuvent contenir des modules tiers sous les licences permissives suivantes :
Apache Tika MimeType Definitions, version c29724782854bb5a319f4a1940d0828a58ace3f9 | Licence Apache 2.0 |
BLAKE2 (reference implementation), version ed1974ea83433eba7b2d95c5dcd9ac33cb847913 | Creative Commons Zero v1.0 Universal ou Licence Apache 2.0 |
Licence zlib | |
Licence BSD à 3 clauses « New » ou « Revised » | |
Efficient Binary-Decimal and Decimal-Binary Conversion Routines for IEEE Doubles, version 3.4.0 | Licence BSD à 3 clauses « New » ou « Revised » |
Domaine public | |
Domaine public | |
Licence BSD à 2 clauses « simplifiée » | |
Licence BSD à 3 clauses « Nouvelle » ou « Révisée » avec exception relative aux paquets de type binaire PCRE2 | |
Licence BSD à 3 clauses « Nouvelle » ou « Révisée » | |
Domaine public | |
Creative Commons Zero v1.0 Universal | |
Licence BSD « simplifiée » à 2 clauses | |
Licence BSD à 3 clauses « Nouvelle » ou « Révisée » | |
Creative Commons Zero v1.0 Universal | |
Licence MIT | |
Contrat de licence Unicode – Fichiers de données et logiciels (2016) | |
Licence Unicode v3 | |
Licence MIT | |
tl::expected, version 41d3e1f48d682992a2230b2a715bca38b848b269 | Creative Commons Zero v1.0 Universal |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.