Qt Widgets

Die Qt Widgets Module bietet eine Reihe von UI-Elementen zur Erstellung klassischer Benutzeroberflächen im Desktop-Stil. Weitere Informationen zur Verwendung von Widgets finden Sie in der Übersicht über Benutzeroberflächen.

Widgets

Widgets sind die wichtigsten 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 zusammen gruppiert werden sollen. Ein Widget, das nicht in ein übergeordnetes Widget eingebettet ist, wird als Fenster bezeichnet.

A parent widget containing various child widgets.

Die Klasse QWidget bietet die grundlegende Fähigkeit, auf dem Bildschirm zu rendern und Benutzereingabeereignisse zu verarbeiten. Alle UI-Elemente, die Qt zur Verfügung stellt, sind entweder Unterklassen von QWidget oder werden in Verbindung mit einer QWidget Unterklasse verwendet. Um benutzerdefinierte Widgets zu erstellen, müssen Sie die Unterklasse QWidget oder eine geeignete Unterklasse verwenden und die virtuellen Ereignisbehandler neu implementieren.

Stile

Stile zeichnen im Namen von Widgets und kapseln das Aussehen einer GUI. Die in Qt eingebauten Widgets verwenden die Klasse QStyle, um fast alle Zeichenvorgänge auszuführen, wodurch sichergestellt wird, dass sie genau wie die entsprechenden nativen Widgets aussehen.

Qt Style Sheets sind ein leistungsfähiger Mechanismus, mit dem Sie das Erscheinungsbild von Widgets anpassen können, zusätzlich zu den Möglichkeiten, die bereits durch die Unterklassen von QStyle gegeben sind.

Layouts

Layouts sind ein eleganter und flexibler Weg, um Child-Widgets automatisch in ihrem Container anzuordnen. Jedes Widget meldet seine Größenanforderungen an das Layout über die Eigenschaften sizeHint und sizePolicy, und das Layout verteilt den verfügbaren Platz entsprechend.

Qt Widgets Der Designer ist ein leistungsfähiges Werkzeug zum interaktiven Erstellen und Anordnen von Widgets in Layouts.

Model/View-Klassen

Die Model/View-Architektur bietet Klassen, die die Art und Weise verwalten, wie Daten dem Benutzer präsentiert werden. Datengesteuerte Anwendungen, die Listen und Tabellen verwenden, sind so strukturiert, dass die Daten und die Ansicht durch Modelle, Ansichten und Delegierte getrennt werden.

Grafische Ansicht

Das Graphics View Framework dient zur Verwaltung und Interaktion mit einer großen Anzahl von benutzerdefinierten 2D-Grafikelementen und einem View-Widget zur Visualisierung der Elemente, mit Unterstützung für Zoom und Rotation.

Verwendung des Moduls

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 Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)

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 += widgets

Artikel und Anleitungen

Beispiele

API-Referenz

Modul-Entwicklung

Änderungen an Qt Widgets listet wichtige Änderungen an der Modul-API und 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 Software-Lizenzen verfügbar: Die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2. Siehe Qt-Lizenzierung für weitere Details.

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