Kerninterna
Qt enthält eine umfangreiche Sammlung grundlegender Enabler, die hauptsächlich aus dem Qt Core Moduls. Qt nutzt diese Komponenten, um übergeordnete Komponenten für die Benutzeroberflächen- und Anwendungsentwicklung bereitzustellen. In den folgenden Abschnitten werden die wichtigsten Komponenten erläutert und gezeigt, wie man sie einsetzt, um spezielle Funktionen zu implementieren, die von Qt noch nicht bereitgestellt werden.
Objekte, Eigenschaften und Ereignisse
Die Klasse „ QObject “ bildet die Grundlage des Qt-Objektmodells und ist die Oberklasse vieler Qt-Klassen. Das Objektmodell führt zahlreiche Mechanismen ein, darunter ein Metaobjektsystem, das die Laufzeit-Introspektion, Manipulation und den Aufruf von Eigenschaften und Methoden im Objekt ermöglicht. Es dient zudem als Grundlage für das Ereignissystem von Qt, das eine Low-Level-Methode zur Kommunikation zwischen auf „ QObject “ basierenden Objekten darstellt. Eine weitere High-Level-Form der Kommunikation wird durch den Signal- und Slot-Mechanismus von Qt bereitgestellt.
Darüber hinaus bietet „ QObject “ einen einfachen Timing-Mechanismus mit „ QObject::startTimer()“. Alternativ stellt die Klasse „ QTimer “ eine hochrangige Schnittstelle für Timer bereit.
Containerklassen
Ein Container ist eine Datenstruktur, deren Instanzen Sammlungen anderer Objekte sind. Beispiele für Container sind: dynamische Arrays, Warteschlangen, verkettete Listen und assoziative Arrays. Qt stellt eine Reihe von universell einsetzbaren, template-basierten Containerklassen zur Strukturierung von Daten im Speicher bereit.
Weitere Details finden Sie in der vollständigen Liste der Containerklassen.
Internationalisierung
Qt verwendet Unicode zur Kodierung von anzeigbaren Textzeichenfolgen. Unicode bietet Unterstützung für alle weltweit gebräuchlichen Schriftsysteme und eignet sich ideal für die plattformübergreifende Entwicklung. Mithilfe des leistungsstarken Internationalisierungssystems von Qt können Anwendungen so geschrieben werden, dass sie mit einem einzigen Quellcode eine beliebige Anzahl verschiedener Sprachen unterstützen.
Prozesskommunikation in Qt
Qt stellt mehrere Klassen zur Unterstützung der Kommunikation zwischen Prozessen bereit. Mit der Klasse „ QProcess “ können Sie zudem externe Prozesse starten und verwalten.
Threading
Qt bietet Funktionen zur sicheren und plattformunabhängigen Verwaltung von Threads und parallelisiertem Code.
Weitere Informationen finden Sie unter „Multithreading in Qt “.
C++20-Unterstützung in Qt
Qt bietet seit Qt 6.0 Unterstützung für C++17. Wir arbeiten jedoch kontinuierlich daran, Unterstützung für neue Sprachfunktionen bereitzustellen.
Plattformunterstützung
Mit Qt können Sie plattformunabhängigen Code schreiben, wobei dieselbe Codebasis ohne Änderungen für verschiedene Plattformen kompiliert und auf diesen bereitgestellt werden kann. Für Fälle, in denen Sie plattformspezifische Funktionen nutzen und Systembibliotheken integrieren müssen, bietet Qt ebenfalls Lösungen an.
Qt lässt sich mithilfe von Qt Platform Abstraction (QPA) in das Fenstersystem der Zielplattform integrieren. QPA ist eine Abstraktion eines Fenstersystems, die die Portierung von Qt auf neue Plattformen einfach und schnell macht. Ein solches System ist das Wayland-Protokoll. Qt kann zusammen mit Wayland als leichtgewichtiges Fenstersystem auf eingebetteter Hardware verwendet werden, um eine grafische Benutzeroberfläche mit mehreren Prozessen zu unterstützen.
Die Qt Platform Abstraction nutzt das Plugin-System von Qt. Dieses Plugin-System stellt APIs bereit, um Qt in bestimmten Bereichen zu erweitern (z. B. durch Hinzufügen der Unterstützung für neue Bildformate, Datenbanktreiber usw.) sowie zum Erstellen eigener, erweiterbarer Qt-Anwendungen, die Plugins von Drittanbietern unterstützen.
- Qt-Plattformabstraktion
- So erstellen Sie Qt-Plugins
- Endian Conversion Functions - Funktionen zur Behandlung der Endianness aus dem QtEndian-Header
© 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.