Benutzeroberflächen
Die wichtigsten Technologien für Benutzeroberflächen des Qt-Frameworks sind Qt Quick und Qt WidgetsQt Quick Oberflächen sind flüssig, dynamisch und eignen sich am besten für Touch-Oberflächen. Qt Widgets sind für die Erstellung komplexer Desktop-Anwendungen. Sie können Qt Quick und Qt Widgets Oberflächen mit dem nativen Look and Feel der Zielplattform erstellen.
Erstellen von Benutzeroberflächen mit Qt Quick
Qt Quick ist für die Erstellung dynamischer und flüssiger Benutzeroberflächen gedacht. Das Modul Qt Quick Controls liefert QML-Typen wie Schaltflächen, Dialoge und Menüs. Sie können QML, eine deklarative Sprache, zur Erstellung der Benutzeroberfläche und JavaScript zur Implementierung der Logik verwenden.
Die folgende Liste enthält verwandte Übersichten:
- Qt Quick Steuerelemente
- Erste Schritte mit Qt Quick Anwendungen
- Erste Schritte mit QML
- Glossar der QML-Begriffe
- Visuelle Typen
- Positionierer und Layouts
- Umgang mit Benutzereingaben
- Anzeige von Text
- Animationen
- Einbindung von JavaScript in QML
- Qt Quick 3D - Zusatzmodul für 3D-Grafiken
- Qt Shader Tools - Shader-Effekte als Add-on
Qt Widgets Benutzeroberflächen
Qt Widgets sind die Elemente der Benutzeroberfläche, die typisch für Desktop-Umgebungen sind. Die Widgets lassen sich gut in die zugrundeliegende Plattform integrieren und bieten ein natives Look-and-Feel auf Windows, Linux und macOS. Die Widgets sind ausgereifte und funktionsreiche Benutzeroberflächenelemente, die sich für die meisten traditionellen Benutzeroberflächen eignen. Im Gegensatz zu Qt Quicksind die Widgets für die Erstellung großer Desktop-Anwendungen und weniger geeignet für die Erstellung von touch-zentrierten Anwendungen mit flüssigen Oberflächen.
Die folgende Liste enthält verwandte Übersichten für Qt Widgets:
- Widgets-Klassen
- Animation Framework
- Hauptfenster der Anwendung
- Dialogfenster
- Ziehen und Ablegen
- Gesten in Widgets und Grafikansicht
- Layout-Verwaltung
- Fenster- und Dialog-Widgets
- Stile und stilabhängige Widgets
Vergleich der UI-Technologien
In der folgenden Tabelle finden Sie einen Vergleich von Qt Quick und Qt Widgets, in dem ihre Stärken, Einschränkungen und idealen Anwendungsfälle hervorgehoben werden:
| Merkmal | Qt Quick und Qt Quick Steuerelemente | Qt Widgets | Erläuterung |
|---|---|---|---|
| Primäre Sprachen | QML und JavaScript | C++ | Qt Quick ist deklarativ. Qt Widgets ist imperativ, klassisches C++. |
| Natives Aussehen und Gefühl | Ja (über Qt Quick Controls-Stile). | Ja (native Desktop-Widgets). | Beide unterstützen das native Look and Feel auf ihren Zielplattformen. |
| Benutzerdefiniertes Styling | Ja(anpassbare Stile, benutzerdefinierte QML-Komponenten). | Ja(Qt Style Sheets). | Beide Frameworks ermöglichen ein umfangreiches benutzerdefiniertes Styling durch unterschiedliche Mechanismen. |
| Flüssige Animationen und Übergänge | Ja (GPU-beschleunigte Animationen integriert). | Eingeschränkt (unterstützt über QPropertyAnimation, aber nicht für flüssige UI-Animationen konzipiert). | Qt Quick ist für animierte, moderne Benutzeroberflächen konzipiert. Qt Widgets ist es nicht. |
| Touch-Unterstützung | Ja (entwickelt für Berührungen und Gesten). | Eingeschränkt (Touch-Ereignisse sind vorhanden, aber Qt Widgets geht von Maus- und Tastatureingaben aus). | Qt Quick verarbeitet multimodale Eingaben besser. Qt Widgets erfordert mehr manuelle Arbeit für eine gute Touch-UX. |
| Standard-Industrie-Widgets | Ja (bietet gängige Desktop-Steuerelemente, und benutzerdefinierte Komponenten können jedes erforderliche Widget implementieren). | Ja (reichhaltiger Satz an ausgereiften, vorgefertigten Desktop-Widgets). | Qt Quick kann alle Arten von Desktop-Steuerelementen implementieren, aber Qt Widgets enthält von Haus aus einen größeren Satz traditioneller Widgets. |
| Modell/Ansichts-Programmierung | Ja (flexible Modellunterstützung mit delegatenbasierten Ansichten wie ListView und TableView). | Ja (umfassender Satz klassischer MVC-Ansichten, einschließlich QTableView, QListView und QTreeView). | Beide Technologien unterstützen eine robuste Modell-/Ansichtsprogrammierung. Qt Quick verwendet Delegates, um Daten und Präsentation klar zu trennen, während Qt Widgets eine große Anzahl von ausgereiften, vorgefertigten Modell-/Ansichtsklassen bietet. |
| Schnelles UI-Prototyping | Ja (sehr schnelle Iteration in QML). | Ja (schnell für traditionelle Benutzeroberflächen, insbesondere mit Qt Widgets Designer). | Qt Quick eignet sich besonders gut für schnelles visuelles Prototyping, während Qt Widgets eine schnelle Zusammenstellung klassischer Desktop-Oberflächen mit Qt Widgets Designer ermöglicht. |
| Hardware-beschleunigte Grafiken | Ja (GPU-beschleunigt über Qt Quick Scene Graph). | Teilweise (Widgets werden in Software gerendert. OpenGL-Widgets möglich, aber isoliert). | Nur Qt Quick bietet integrierte GPU-Beschleunigung für ganze Szenen. Siehe Grafiken für weitere Informationen. |
| Graphical Effects | Ja (Shader-basierte Weichzeichner, Glühen, Schlagschatten, Farbeffekte und mehr). | Eingeschränkt (nur grundlegende Effekte über Qt GUI nur). | Qt Quick bietet umfangreiche, GPU-gesteuerte visuelle Effekte. Qt Widgets bietet nur einfache CPU-Effekte. |
| Reichhaltige Textverarbeitung. | Ja (die Rich-Text-Dokumentenklassen von Qt können in Qt Quick und Qt Quick Controls' TextArea verwendet werden, erfordern aber möglicherweise eine C++-Implementierung). | Ja (vollständige Unterstützung durch QTextDocument, QTextEdit, und verwandte Klassen). | Beide Technologien können verwendet werden, um komplexe Text-Editoren zu erstellen. Qt Quick integriert sich über QTextDocument in die Rich-Text-Engine von Qt, während Qt Widgets einen ausgereiften Satz gebrauchsfertiger Klassen für die Textverarbeitung bereitstellt. |
Hinweis: Sie können QML-Ansichten in einer Qt Widgets UI anzeigen. Für weitere Informationen siehe Qt Quick Widgets.
Verwandte Themen
Auf den folgenden Seiten finden Sie weitere Informationen zum Entwurf und zur Entwicklung von Benutzeroberflächen:
- Design Tools - Überblick über die Tools für Designer und Entwickler von Benutzeroberflächen
- Grafiken - Überblick über Grafiken
- Modell/Ansichts-Programmierung
- Hohe DPI
© 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.