Kern-Interna

Qt enthält eine Vielzahl von grundlegenden Funktionen, hauptsächlich aus dem Qt Core Modul. Qt verwendet diese Enabler, um UI- und Anwendungsentwicklungskomponenten auf höherer Ebene bereitzustellen. Die folgenden Themen erklären die wichtigsten Enabler und zeigen, wie man sie verwendet, um spezielle Funktionen zu implementieren, die nicht bereits von Qt bereitgestellt werden.

Objekte, Eigenschaften und Ereignisse

Die Klasse QObject bildet die Grundlage des Objektmodells von Qt und ist die übergeordnete Klasse vieler Qt-Klassen. Das Objektmodell führt viele Mechanismen ein, wie z.B. ein Meta-Objektsystem, das die Introspektion, Manipulation und den Aufruf von Eigenschaften und Methoden im Objekt zur Laufzeit ermöglicht. Es dient auch als Grundlage für das Qt-Ereignissystem, das eine Low-Level-Kommunikation zwischen QObject-basierten Objekten ermöglicht. Eine weitere High-Level-Kommunikationsform bieten die Signale und Slots von Qt.

Darüber hinaus bietet QObject mit QObject::startTimer() einen einfachen Timing-Mechanismus. Alternativ dazu bietet die Klasse QTimer eine High-Level-Schnittstelle für Timer.

Container-Klassen

Ein Container ist eine Datenstruktur, deren Instanzen Sammlungen von anderen Objekten sind. Einige Beispiele für Container sind: dynamische Arrays, Warteschlangen, verknüpfte Listen und assoziative Arrays. Qt bietet eine Reihe von allgemeinen, vorlagenbasierten Containerklassen für die Strukturierung von Daten im Speicher.

Weitere Informationen finden Sie in der vollständigen Liste der Containerklassen.

Internationalisierung

Qt verwendet Unicode für die Kodierung von darstellbaren Textstrings. Unicode bietet Unterstützung für alle weltweit gebräuchlichen Schriftsysteme und ist ideal für die plattformübergreifende Entwicklung. Mit dem leistungsstarken Internationalisierungssystem von Qt können Anwendungen so geschrieben werden, dass sie eine beliebige Anzahl verschiedener Sprachen mit einer einzigen Codebasis unterstützen.

Prozessübergreifende Kommunikation in Qt

Qt bietet mehrere Klassen zur Unterstützung der Kommunikation zwischen Prozessen. Mit der Klasse QProcess können Sie auch externe Prozesse starten und verwalten.

Threading

Qt bietet Funktionen zur sicheren und plattformunabhängigen Verwaltung von Threads und parallelisiertem Code.

Plattform-Unterstützung

Qt ermöglicht es Ihnen, plattformunabhängigen Code zu schreiben, wobei dieselbe Codebasis ohne Änderungen für verschiedene Plattformen kompiliert und eingesetzt werden kann. In Fällen, in denen Sie plattformspezifische Funktionen verwenden und mit Systembibliotheken integrieren müssen, bietet Qt auch hierfür Lösungen.

Qt integriert sich mit Hilfe von Qt Platform Abstraction (QPA) in das Windowing-System der Zielplattform. QPA ist eine Abstraktion eines Windowing-Systems, 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 Windowing-System auf eingebetteter Hardware verwendet werden, um eine grafische Benutzeroberfläche mit mehreren Prozessen zu unterstützen.

Die Qt-Plattformabstraktion verwendet das Plugin-System von Qt. Dieses Plugin-System stellt APIs zur Verfügung, um Qt in bestimmten Bereichen zu erweitern (z. B. Unterstützung für neue Bildformate, Datenbanktreiber usw.) und auch um eigene erweiterbare Qt-Anwendungen zu schreiben, die Plugins von Drittanbietern unterstützen.

© 2025 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.