Auf dieser Seite

Qt Quick Controls QML Types

Qt Quick Controls bietet QML-Typen zur Erstellung von Benutzeroberflächen. Diese QML-Typen arbeiten in Verbindung mit Qt Quick und Qt Quick Layouts.

Qt Quick Controls QML-Typen können mithilfe der folgenden Importanweisung in Ihrer .qml-Datei in Ihre Anwendung importiert werden:

import QtQuick.Controls

QML-Typen

AbstractButton

Abstrakter Basistyp, der Funktionen bereitstellt, die allen Schaltflächen gemeinsam sind

Action

Abstrakte Benutzeroberflächenaktion

ActionGroup

Gruppiert Aktionen

ApplicationWindow

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

BusyIndicator

Zeigt Hintergrundaktivitäten an, beispielsweise während Inhalte geladen werden

Button

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

ButtonGroup

Sich gegenseitig ausschließende Gruppe von aktivierbaren Schaltflächen

Calendar

Ein Kalender-Namensraum

CalendarModel

Ein Kalendermodell

CheckBox

Kontrollkästchen, das ein- oder ausgeschaltet werden kann

CheckDelegate

Element-Delegat mit einem Kontrollkästchen, das ein- oder ausgeschaltet werden kann

ComboBox

Kombination aus Schaltfläche und Popup-Liste zur Auswahl von Optionen

Container

Abstrakter Basistyp, der für Container gemeinsame Funktionen bereitstellt

ContextMenu

Der angehängte Typ bietet eine Möglichkeit, ein Kontextmenü plattformspezifisch zu öffnen

Control

Abstrakter Basistyp, der allen Steuerelementen gemeinsame Funktionen bereitstellt

DayOfWeekRow

Eine Zeile mit den Namen der Wochentage

DelayButton

Kontrollkästchen, das ausgelöst wird, wenn es lange genug gedrückt gehalten wird

Dial

Ein Drehregler, der zur Einstellung eines Werts gedreht wird

Dialog

Popup-Dialogfeld mit Standardschaltflächen und einem Titel, das für die kurzfristige Interaktion mit dem Benutzer verwendet wird

DialogButtonBox

Ein Schaltflächenfeld, das in Dialogen verwendet wird

DoubleSpinBox

Ermöglicht dem Benutzer die Auswahl aus einer Reihe voreingestellter Gleitkommawerte

Drawer

Seitenleiste, die durch eine Wischgeste geöffnet und geschlossen werden kann

Frame

Visueller Rahmen für eine logische Gruppe von Steuerelementen

GroupBox

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

HorizontalHeaderView

Stellt eine horizontale Kopfzeilenansicht als Ergänzung zu einer TableView bereit

HorizontalHeaderViewDelegate

ItemDelegate

Einfacher Element-Delegat, der in verschiedenen Ansichten und Steuerelementen verwendet werden kann

Label

Gestaltete Textbeschriftung mit vererbter Schriftart

Menu

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

MenuBar

Stellt eine Fenster-Menüleiste bereit

MenuBarItem

Zeigt ein Dropdown-Menü innerhalb einer Menüleiste an

MenuItem

Stellt ein Element innerhalb eines Menüs dar

MenuSeparator

Trennt eine Gruppe von Menüpunkten von benachbarten Menüpunkten

MonthGrid

Ein Raster mit Tagen für einen Kalendermonat

Overlay

Eine Fensterüberlagerung für Popups

Page

Gestaltetes Seitensteuerelement mit Unterstützung für Kopf- und Fußzeile

PageIndicator

Zeigt die aktuell aktive Seite an

Pane

Stellt einen Hintergrund bereit, der zum Stil und Thema der Anwendung passt

Popup

Basistyp für Popup-ähnliche Benutzeroberflächensteuerelemente

ProgressBar

Zeigt den Fortschritt eines Vorgangs an

RadioButton

Exklusives Optionsfeld, das ein- oder ausgeschaltet werden kann

RadioDelegate

Exklusiver Element-Delegat mit einem Radio-Indikator, der ein- oder ausgeschaltet werden kann

RangeSlider

Dient zur Auswahl eines Wertebereichs durch Verschieben zweier Schieberegler entlang einer Skala

RoundButton

Ein Drucktaste-Steuerelement mit abgerundeten Ecken, auf das der Benutzer klicken kann

ScrollBar

Vertikale oder horizontale interaktive Bildlaufleiste

ScrollIndicator

Vertikaler oder horizontaler, nicht interaktiver Bildlaufindikator

ScrollView

Scrollbare Ansicht

SearchField

Ein spezielles Eingabefeld, das für Suchfunktionen vorgesehen ist

SelectionRectangle

Wird zur Auswahl von Tabellenzellen innerhalb einer TableView verwendet

Slider

Dient zur Auswahl eines Werts durch Verschieben eines Schiebereglers entlang einer Schiene

SpinBox

Ermöglicht dem Benutzer die Auswahl aus einer Reihe voreingestellter Werte

SplitHandle

Stellt angehängte Eigenschaften für SplitView-Schieberegler bereit

SplitView

Ordnet Elemente mit einem verschiebbaren Trennbalken zwischen den einzelnen Elementen an

StackView

Stellt ein stapelbasiertes Navigationsmodell bereit

SwipeDelegate

Delegat für wischbare Elemente

SwipeView

Ermöglicht dem Benutzer die Navigation durch Seiten durch seitliches Wischen

Switch

Schaltfläche, die ein- und ausgeschaltet werden kann

SwitchDelegate

Element-Delegat mit einem Umschaltindikator, der ein- oder ausgeschaltet werden kann

TabBar

Ermöglicht dem Benutzer das Wechseln zwischen verschiedenen Ansichten oder Teilaufgaben

TabButton

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

TableViewDelegate

Ein Delegat, der einer TableView zugewiesen werden kann

TextArea

Mehrzeiliges Texteingabefeld

TextField

Einzeiliges Texteingabefeld

ToolBar

Container für kontextsensitive Steuerelemente

ToolButton

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

ToolSeparator

Trennt eine Gruppe von Elementen in einer Symbolleiste von benachbarten Elementen

ToolTip

Stellt Tooltips für jedes Steuerelement bereit

TreeViewDelegate

Ein Delegat, der einer TreeView zugewiesen werden kann

Tumbler

Drehbares Rad mit auswählbaren Elementen

VerticalHeaderView

Bietet eine vertikale Kopfzeilenansicht als Ergänzung zu einer TableView

VerticalHeaderViewDelegate

WeekNumberColumn

Eine Spalte mit Wochennummern

Verwendung von „ Qt Quick Controls “-Typen in Eigenschaftsdeklarationen

Wie in Qt Quick Templates 2 QML Types, basiert jeder Typ in „ Qt Quick Controls “ auf einem C++-„Template“-Typ. Diese Typen sind nicht-visuelle Implementierungen der Logik und des Verhaltens von Steuerelementen.

Beispielsweise werden die API und das Verhalten des „ Menu “-Typs durch den C++-Typ in „ Qt Quick -Vorlagen“ definiert. Jeder Stil, der ein Menü bereitstellen möchte, muss über eine „Menu.qml“-Datei verfügen, und das Stammelement in dieser Datei muss das Menü aus „ Qt Quick -Vorlagen“ sein. Wenn Sie „ QtQuick.Controls “ importieren und ein Menü in QML erstellen, erhalten Sie tatsächlich das QML-Menü, das durch die „Menu.qml“-Datei des Stils definiert ist.

Um ein Steuerelement als Typ in einer Eigenschaftsdeklaration zu verwenden, sollten Sie den entsprechenden Typ aus den „ Qt Quick “-Vorlagen verwenden. Angenommen, Sie hätten eine „ PopupOpener “-Komponente, bei der es sich um eine Schaltfläche handelt, die ein Popup öffnet:

// PopupButton.qml
import QtQuick.Controls

Button {
    required property Popup popup

    onClicked: popup.open()
}

// main.qml
PopupButton {
    popup: saveChangesDialog
}

Dialog {
    id: saveChangesDialog

    // ...
}

Die Ausführung dieses Codes führt zu einem Fehler:

Unable to assign Dialog_QMLTYPE to Popup_QMLTYPE

Dies liegt an der Vererbungshierarchie:

Popup (C++ type in QtQuick.Templates)
│   └── Popup (QML type in QtQuick.Controls)
└── Dialog (C++ type in QtQuick.Templates)
    └── Dialog (QML type in QtQuick.Controls)

„Dialog“ aus „ QtQuick.Controls “ leitet sich nicht von „Popup“ aus „ QtQuick.Controls “ ab, sondern von „ QtQuick.Templates “.

Verwenden Sie stattdessen „Popup“ aus den „ Qt Quick -Vorlagen“ als Eigenschaftstyp:

// PopupButton.qml
import QtQuick.Controls
import QtQuick.Templates as T

Button {
    required property T.Popup popup

    onClicked: popup.open()
}

Weitere Informationen zum Modul „ Qt Quick Controls “ finden Sie in der Qt Quick Controls Moduldokumentation.

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