Auf dieser Seite

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.

Übergeordnetes Widget, das verschiedene untergeordnete Widgets enthält

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.

Registerkarten-Widgets im Windows-Stil

Fusion-Widgets im Desktop-Stil mit Registerkarten

Tab-Widgets im macOS-Stil

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.

Anordnung für 5 Kinder

Anordnung mit 6 Kindern

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.

Dateiverzeichnis mit Baumstruktur

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.

Verschiedene Formen und Grafiken auf einem Raster

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

Sicherheitshinweise

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:

Ü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

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.