Qt Quick Controls
Qt Quick Controls stellt eine Reihe von Steuerelementen zur Verfügung, die zur Erstellung kompletter Oberflächen in Qt Quick verwendet werden können. Das Modul wurde in Qt 5.7 eingeführt.
Qt Quick Controls wird mit einer Auswahl von anpassbaren Stilen geliefert. Siehe Styling Qt Quick Controls für weitere Details.
Verwendung des Moduls
QML-API
Die QML-Typen des Moduls sind über den QtQuick.Controls
-Import verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Importanweisung in Ihre .qml-Datei ein:
import QtQuick.Controls
C++-API
Die Verwendung der C++-API eines Qt-Moduls erfordert eine Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.
Bauen mit CMake
Verwenden Sie den Befehl find_package()
, um die benötigte Modulkomponente im Paket Qt6
zu finden:
find_package(Qt6 REQUIRED COMPONENTS QuickControls2)
target_link_libraries(mytarget PRIVATE Qt6::QuickControls2)
Weitere Einzelheiten finden Sie in der Übersicht Bauen mit CMake.
Bauen mit qmake
Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variable QT
in der .pro-Datei des Projekts hinzu:
QT += quickcontrols2
Bauen aus dem Quellcode
Das Qt Image Formats Modul wird empfohlen, ist aber nicht erforderlich. Es bietet Unterstützung für das Format .webp
, das vom Imagine-Stil verwendet wird.
Steuerelemente
Die vollständige Liste von Qt Quick Controls finden Sie unter QML Types.
Tasten-Bedienelemente
Abstrakter Basistyp mit gemeinsamer Funktionalität für Schaltflächen | |
Druckknopf, der angeklickt werden kann, um einen Befehl auszuführen oder eine Frage zu beantworten | |
Check-Button, der ein- oder ausgeschaltet werden kann | |
Check-Button, der ausgelöst wird, wenn man ihn lange genug gedrückt hält | |
Exklusive Optionsschaltfläche, die ein- oder ausgeschaltet werden kann | |
Ein Drucktasten-Steuerelement mit abgerundeten Ecken, das vom Benutzer angeklickt werden kann | |
Schaltfläche, die ein- oder ausgeschaltet werden kann | |
Schaltfläche mit einem für eine ToolBar geeigneten Aussehen |
Container-Steuerelemente
Gestaltetes Fenster der obersten Ebene mit Unterstützung für eine Kopf- und Fußzeile | |
Abstrakter Basistyp mit gemeinsamer Funktionalität für Container | |
Visueller Rahmen für eine logische Gruppe von Steuerelementen | |
Visueller Rahmen und Titel für eine logische Gruppe von Steuerelementen | |
Bietet eine horizontale Kopfzeilenansicht zur Begleitung einer TableView | |
Styled Page Control mit Unterstützung für Kopf- und Fußzeilen | |
Bietet einen Hintergrund, der zum Stil und Thema der Anwendung passt | |
Scrollbare Ansicht | |
Zeigt die Elemente mit einem verschiebbaren Splitter zwischen den einzelnen Elementen an | |
Bietet ein stapelbasiertes Navigationsmodell | |
Ermöglicht es dem Benutzer, durch seitliches Wischen durch die Seiten zu navigieren | |
Ermöglicht es dem Benutzer, zwischen verschiedenen Ansichten oder Teilaufgaben zu wechseln | |
Container für kontextabhängige Steuerelemente | |
Bietet eine vertikale Kopfansicht als Ergänzung zu einem TableView |
Delegierte Steuerelemente
Item-Delegate mit ein- und ausschaltbarem Prüfzeichen | |
Basis-Elementdelegierter, der in verschiedenen Ansichten und Steuerelementen verwendet werden kann | |
Exklusiver Elementdelegierter mit einem Radioindikator, der ein- oder ausgeschaltet werden kann | |
Swipable Item-Delegierter | |
Elementdelegierter mit einer Schaltanzeige, die ein- oder ausgeschaltet werden kann | |
Ein Delegat, der einem TreeView zugewiesen werden kann |
Indikator-Steuerelemente
Zeigt Hintergrundaktivität an, z.B. während der Inhalt geladen wird | |
Zeigt die gerade aktive Seite an | |
Zeigt den Fortschritt eines Vorgangs an | |
Vertikale oder horizontale interaktive Bildlaufleiste | |
Vertikale oder horizontale nicht-interaktive Bildlaufleiste |
Eingabe-Steuerelemente
Kombinierte Schaltfläche und Popup-Liste zur Auswahl von Optionen | |
Kreisförmiges Rad, das zum Einstellen eines Wertes gedreht wird | |
Auswahl eines Wertebereichs durch Schieben zweier Griffe entlang einer Spur | |
Auswahl eines Wertes durch Schieben eines Griffs entlang einer Spur | |
Mehrzeiliges Texteingabefeld | |
Einzeiliges Texteingabefeld | |
Drehbares Rad mit Elementen, die ausgewählt werden können |
Menü-Steuerelemente
Popup, das als Kontextmenü oder Popup-Menü verwendet werden kann | |
Bietet eine Fenster-Menüleiste | |
Stellt ein Dropdown-Menü innerhalb einer Menüleiste dar | |
Stellt ein Element innerhalb eines Menüs dar |
Navigations-Steuerelemente
Seitenpanel, das mit einer Wischgeste geöffnet und geschlossen werden kann | |
Bietet ein stapelbasiertes Navigationsmodell | |
Ermöglicht es dem Benutzer, durch seitliches Wischen durch die Seiten zu navigieren | |
Ermöglicht es dem Benutzer, zwischen verschiedenen Ansichten oder Teilaufgaben zu wechseln | |
Schaltfläche mit einem für eine TabBar geeigneten Aussehen |
Popup-Steuerelemente
Popup-Dialog mit Standardschaltflächen und einem Titel, der für eine kurzfristige Interaktion mit dem Benutzer verwendet wird | |
Seitenpanel, das mit einer Wischgeste geöffnet und geschlossen werden kann | |
Popup, das als Kontextmenü oder Popup-Menü verwendet werden kann | |
Basistyp von Popup-ähnlichen Bedienelementen der Benutzeroberfläche | |
Bietet Tooltips für jedes Steuerelement |
Separator-Steuerelemente
Trennt eine Gruppe von Elementen in einem Menü von benachbarten Elementen | |
Trennt eine Gruppe von Einträgen in einer Symbolleiste von benachbarten Einträgen |
Versionen
Qt Quick Controls 2.0 wurde in Qt 5.7 eingeführt. Nachfolgende Qt-Nebenversionen erhöhen die Importversion der Qt Quick Controls -Module um eins, bis Qt 5.12, wo die Importversionen mit der Nebenversion von Qt übereinstimmen.
In Qt 6 stimmen sowohl die Haupt- als auch die Nebenversion überein, und die Versionsnummern können bei Importen in QML weggelassen werden. Wenn die Version weggelassen wird, wird die neueste Version verwendet.
Die experimentellen Qt Labs Module verwenden die Importversion 1.0.
Qt | QtQuick | QtQuick.Controls ,QtQuick.Controls.Material ,QtQuick.Controls.Universal ,QtQuick.Templates | Qt.labs.platform |
---|---|---|---|
5.7 | 2.7 | 2.0 | 1.0 |
5.8 | 2.8 | 2.1 | 1.0 |
5.9 | 2.9 | 2.2 | 1.0 |
5.10 | 2.10 | 2.3 | 1.0 |
5.11 | 2.11 | 2.4 | 1.0 |
5.12 | 2.12 | 2.12 | 1.0 |
6.0 | 6.0 | 6.0 | 1.0 |
... | ... | ... | ... |
Überarbeitungen
Aufgrund der Art und Weise, wie Qt Quick Controls implementiert ist, können neue Eigenschaften, die hinzugefügt werden, mit benutzerdefinierten Eigenschaften desselben Namens kollidieren. Der folgende Ausschnitt führt zum Beispiel zu einem Fehler:
import QtQuick.Controls 2.13 ApplicationWindow { // ... ComboBox { anchors.centerIn: parent // As currentValue was added in 2.14, the versioned import above // should cause this property to be used, but instead an error is produced: // "Cannot override FINAL property" property int currentValue: 0 } }
Diese Eigenschaften sollten umbenannt werden, um den Konflikt zu vermeiden.
Das Modul Evolution
Qt Quick Controls wurde ursprünglich mit dem Schwerpunkt auf Touch-Oberflächen geschrieben. Es ist zwar bereits möglich, Desktop-Oberflächen zu entwickeln, aber es wird weiter daran gearbeitet, ein nativeres Aussehen und Gefühl zu vermitteln.
Änderungen an Qt Quick Controls listet wichtige Änderungen an der Modul-API und der Funktionalität auf, die für die Qt 6-Serie von Qt vorgenommen wurden.
Artikel und Leitfäden
- Erste Anfänge
- Richtlinien
- Gestalten
- Icons
- Anpassung
- Dateiselektoren verwenden
- Bereitstellung
- Konfigurationsdatei
- Umgebungsvariablen
Beispiele
Referenz
Verwandte Module
Lizenz und Namensnennung
Qt Quick Controls ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter der GNU Lesser General Public License, Version 3, oder der GNU General Public License, Version 2, erhältlich. Siehe Qt-Lizenzierung für weitere Details.
Darüber hinaus enthält Qt Quick Controls möglicherweise Module von Drittanbietern, die den folgenden Lizenzen unterliegen:
MIT-Lizenz |
© 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.