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

AbstractButton

Abstrakter Basistyp mit gemeinsamer Funktionalität für Schaltflächen

Button

Druckknopf, der angeklickt werden kann, um einen Befehl auszuführen oder eine Frage zu beantworten

CheckBox

Check-Button, der ein- oder ausgeschaltet werden kann

DelayButton

Check-Button, der ausgelöst wird, wenn man ihn lange genug gedrückt hält

RadioButton

Exklusive Optionsschaltfläche, die ein- oder ausgeschaltet werden kann

RoundButton

Ein Drucktasten-Steuerelement mit abgerundeten Ecken, das vom Benutzer angeklickt werden kann

Switch

Schaltfläche, die ein- oder ausgeschaltet werden kann

ToolButton

Schaltfläche mit einem für eine ToolBar geeigneten Aussehen

Container-Steuerelemente

ApplicationWindow

Gestaltetes Fenster der obersten Ebene mit Unterstützung für eine Kopf- und Fußzeile

Container

Abstrakter Basistyp mit gemeinsamer Funktionalität für Container

Frame

Visueller Rahmen für eine logische Gruppe von Steuerelementen

GroupBox

Visueller Rahmen und Titel für eine logische Gruppe von Steuerelementen

HorizontalHeaderView

Bietet eine horizontale Kopfzeilenansicht zur Begleitung einer TableView

Page

Styled Page Control mit Unterstützung für Kopf- und Fußzeilen

Pane

Bietet einen Hintergrund, der zum Stil und Thema der Anwendung passt

ScrollView

Scrollbare Ansicht

SplitView

Zeigt die Elemente mit einem verschiebbaren Splitter zwischen den einzelnen Elementen an

StackView

Bietet ein stapelbasiertes Navigationsmodell

SwipeView

Ermöglicht es dem Benutzer, durch seitliches Wischen durch die Seiten zu navigieren

TabBar

Ermöglicht es dem Benutzer, zwischen verschiedenen Ansichten oder Teilaufgaben zu wechseln

ToolBar

Container für kontextabhängige Steuerelemente

VerticalHeaderView

Bietet eine vertikale Kopfansicht als Ergänzung zu einem TableView

Delegierte Steuerelemente

CheckDelegate

Item-Delegate mit ein- und ausschaltbarem Prüfzeichen

ItemDelegate

Basis-Elementdelegierter, der in verschiedenen Ansichten und Steuerelementen verwendet werden kann

RadioDelegate

Exklusiver Elementdelegierter mit einem Radioindikator, der ein- oder ausgeschaltet werden kann

SwipeDelegate

Swipable Item-Delegierter

SwitchDelegate

Elementdelegierter mit einer Schaltanzeige, die ein- oder ausgeschaltet werden kann

TreeViewDelegate

Ein Delegat, der einem TreeView zugewiesen werden kann

Indikator-Steuerelemente

BusyIndicator

Zeigt Hintergrundaktivität an, z.B. während der Inhalt geladen wird

PageIndicator

Zeigt die gerade aktive Seite an

ProgressBar

Zeigt den Fortschritt eines Vorgangs an

ScrollBar

Vertikale oder horizontale interaktive Bildlaufleiste

ScrollIndicator

Vertikale oder horizontale nicht-interaktive Bildlaufleiste

Eingabe-Steuerelemente

ComboBox

Kombinierte Schaltfläche und Popup-Liste zur Auswahl von Optionen

Dial

Kreisförmiges Rad, das zum Einstellen eines Wertes gedreht wird

RangeSlider

Auswahl eines Wertebereichs durch Schieben zweier Griffe entlang einer Spur

Slider

Auswahl eines Wertes durch Schieben eines Griffs entlang einer Spur

TextArea

Mehrzeiliges Texteingabefeld

TextField

Einzeiliges Texteingabefeld

Tumbler

Drehbares Rad mit Elementen, die ausgewählt werden können

Menu

Popup, das als Kontextmenü oder Popup-Menü verwendet werden kann

MenuBar

Bietet eine Fenster-Menüleiste

MenuBarItem

Stellt ein Dropdown-Menü innerhalb einer Menüleiste dar

MenuItem

Stellt ein Element innerhalb eines Menüs dar

Drawer

Seitenpanel, das mit einer Wischgeste geöffnet und geschlossen werden kann

StackView

Bietet ein stapelbasiertes Navigationsmodell

SwipeView

Ermöglicht es dem Benutzer, durch seitliches Wischen durch die Seiten zu navigieren

TabBar

Ermöglicht es dem Benutzer, zwischen verschiedenen Ansichten oder Teilaufgaben zu wechseln

TabButton

Schaltfläche mit einem für eine TabBar geeigneten Aussehen

Dialog

Popup-Dialog mit Standardschaltflächen und einem Titel, der für eine kurzfristige Interaktion mit dem Benutzer verwendet wird

Drawer

Seitenpanel, das mit einer Wischgeste geöffnet und geschlossen werden kann

Menu

Popup, das als Kontextmenü oder Popup-Menü verwendet werden kann

Popup

Basistyp von Popup-ähnlichen Bedienelementen der Benutzeroberfläche

ToolTip

Bietet Tooltips für jedes Steuerelement

Separator-Steuerelemente

MenuSeparator

Trennt eine Gruppe von Elementen in einem Menü von benachbarten Elementen

ToolSeparator

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.

QtQtQuickQtQuick.Controls,
QtQuick.Controls.Material,
QtQuick.Controls.Universal,
QtQuick.Templates
Qt.labs.platform
5.72.72.01.0
5.82.82.11.0
5.92.92.21.0
5.102.102.31.0
5.112.112.41.0
5.122.122.121.0
6.06.06.01.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

Beispiele

Referenz

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:

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