Qt Widgets
Die Qt Widgets Module bietet eine Reihe von UI-Elementen zum Erstellen klassischer Benutzeroberflächen im Desktop-Stil. Weitere Informationen zur Verwendung von Widgets finden Sie in der Übersicht über Benutzeroberflächen.
Widgets
Widgets sind die grundlegenden Elemente zur Erstellung von Benutzeroberflächen in Qt. Widgets können Daten und Statusinformationen anzeigen, Benutzereingaben entgegennehmen und als Container für andere Widgets dienen, die gruppiert werden sollen. Ein Widget, das nicht in ein übergeordnetes Widget eingebettet ist, wird als Fenster bezeichnet.

Die Klasse „ QWidget “ bietet die grundlegenden Funktionen zum Rendern auf dem Bildschirm und zur Verarbeitung von Benutzereingabeereignissen. Alle von Qt bereitgestellten UI-Elemente sind entweder Unterklassen von „ QWidget “ oder werden in Verbindung mit einer Unterklasse von „ QWidget “ verwendet. Um benutzerdefinierte Widgets zu erstellen, erstellen Sie eine Unterklasse von „ QWidget “ oder einer geeigneten Unterklasse und implementieren Sie die virtuellen Ereignisbehandler neu.
Stile
Stile übernehmen das Zeichnen für Widgets und kapseln das Erscheinungsbild einer grafischen Benutzeroberfläche. Die in Qt integrierten Widgets nutzen die Klasse ` QStyle `, um nahezu alle ihre Zeichenvorgänge auszuführen, wodurch sichergestellt wird, dass sie genau wie die entsprechenden nativen Widgets aussehen.
|
|
|
Qt-Stylesheets passen das Erscheinungsbild von Widgets mithilfe CSS-ähnlicher Regeln an. Der Abschnitt „Styling-Ansätze für Qt Widgets “ erläutert, wann ein Stil, StyleKit oder ein Stylesheet verwendet werden sollte.
Layouts
Layouts sind eine elegante und flexible Möglichkeit, untergeordnete Widgets automatisch innerhalb ihres Containers anzuordnen. Jedes Widget teilt dem Layout seine Größenanforderungen über die Eigenschaften „ sizeHint “ und „ sizePolicy “ mit, und das Layout verteilt den verfügbaren Platz entsprechend.
|
|
Qt Widgets Designer ist ein leistungsstarkes Werkzeug zum interaktiven Erstellen und Anordnen von Widgets in Layouts.
Modell-/Ansichtsklassen
Die Modell-Ansicht-Architektur stellt Klassen bereit, die die Darstellung von Daten für den Benutzer steuern. Datengesteuerte Anwendungen, die Listen und Tabellen verwenden, sind so strukturiert, dass Daten und Ansicht mithilfe von Modellen, Ansichten und Delegaten voneinander getrennt werden.

Grafikansicht
Das Grafikansichts-Framework dient der Verwaltung und Interaktion mit einer großen Anzahl benutzerdefinierter 2D-Grafikelemente sowie einem Ansichts-Widget zur Visualisierung dieser Elemente, das Zoomen und Drehen unterstützt.

Verwendung des Moduls
Die Nutzung der C++-API eines Qt-Moduls erfordert die 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.
Erstellen mit CMake
Verwenden Sie den Befehl „ find_package() “, um die benötigte Modulkomponente im Paket „ Qt6 “ zu finden:
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)Weitere Details finden Sie in der Übersicht „Erstellen mit CMake “.
Erstellen mit qmake
Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variablen ` QT ` in die `.pro`-Datei des Projekts ein:
QT += widgetsSicherheitshinweise
Mehrere „ Qt Widgets “-Klassen deserialisieren oder analysieren Daten, die eine Anwendung aus beliebigen Quellen bereitstellen kann, und Qt kann deren Herkunft nicht überprüfen. Beachten Sie insbesondere Folgendes:
- QHeaderView::restoreState() deserialisiert einen versionierten binären Zustands-Blob.
- QFileDialog::restoreState() deserialisiert ebenfalls einen binären Status-Blob, der einen „ QHeaderView “-Status-Blob einbettet.
- QMainWindow::restoreState() Deserialisiert einen binären Status-Blob, der ein rekursiv verschachteltes Layout von Symbolleisten und Dock-Widgets beschreibt.
- QSplitter::restoreState() Deserialisiert einen binären Status-Blob, der die Größe und Ausrichtung von Trennleisten beschreibt.
- Qt-Stylesheets können über die Funktion `
url()` auf beliebige lokale Dateien verweisen und diese laden.
Übergeben Sie an solche APIs nur Daten, die Ihre Anwendung zuvor selbst erzeugt und gespeichert hat (in der Regel über ` QSettings`), oder die anderweitig vollständig unter der Kontrolle Ihrer Anwendung stehen.
Artikel und Anleitungen
- Widget-Tutorial
- Erste Schritte bei der Programmierung mit Qt Widgets
- Qt Creator: Tutorial: „ Qt Widgets “-Anwendung
- Qt Extension for Visual Studio Code: Tutorial: „ Qt Widgets “-Anwendung
- Model/View-Tutorial
- Gestaltungsansätze für Qt Widgets
Beispiele
API-Referenz
Modulentwicklung
Änderungen an „ Qt Widgets “ listen wichtige Änderungen an der Modul-API und der Funktionalität auf, die für die Qt-6-Serie von Qt vorgenommen wurden.
Lizenzen
Das Modul „ Qt Widgets “ ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Softwarelizenzen verfügbar: der GNU Lesser General Public License, Version 3, oder der GNU General Public License, Version 2. Weitere Informationen finden Sie unter „Qt-Lizenzierung “.
© 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.




