Auf dieser Seite

Qt Quick Widgets Beispiel

Zeigt, wie man Qt Quick mit einer Qt Widgets Anwendung unter Verwendung der Klasse QQuickWidget mischt.

Digitale Uhr und rotierendes Rechteck in MDI-Unterfenstern

Das Beispiel zeigt, wie Sie Qt Quick Szenen in eine Qt Widgets Anwendung einbetten können, und wie verschiedene UI-Aspekte zwischen Qt Widgets und Qt Quick integriert werden. Dies beinhaltet:

  • Fokussieren von Tabs zwischen Qt Widgets und Qt Quick
  • Einbetten einer QQuickView in eine QLayout

Ausführen des Beispiels

Um das Beispiel auszuführen Qt Creatorauszuführen, öffnen Sie den Modus Welcome und wählen Sie das Beispiel aus Examples aus. Für weitere Informationen siehe Qt Creator: Tutorial: Erstellen und Ausführen.

Qt Quick View-Integration

Um die nahtlose Integration der Ansicht Qt Quick zu demonstrieren, implementiert das Beispiel mehrere Ansätze, um einen Screenshot der Ansicht Qt Quick zu erstellen.

Wählen Sie im Hauptmenü File und wählen Sie dann eine der folgenden Optionen, um einen Screenshot der Ansicht Qt Quick zu erstellen:

  • Grab framebuffer - Erstellt einen Screenshot mit der Funktion QQuickWidget::grabFramebuffer.
  • Render to pixmap - Erstellt den Screenshot mit der Funktion QWidget::render und einer QPixmap Instanz als Parameter. Dieser Ansatz ist für Qt Widgets üblich.
  • Grab via grabToImage - ruft die in der QML-Datei deklarierte Funktion performLayerBasedGrab auf. Die Funktion performLayerBasedGrab ruft die Funktion Item::grabToImage von QML Item auf, um den Screenshot zu erstellen. Dieser Ansatz zeigt, wie man die QML-APIs der verschachtelten Ansicht von C++ aus aufruft.

Menü "Datei" mit drei Optionen für die Aufnahme von Bildschirmfotos

QQuickWidget in MDI

Das Beispiel zeigt auch, wie Sie QQuickWidget verwenden können, um hardwarebeschleunigte Qt Quick Szenen nahtlos in eine Qt Widget Multiple Document Interface (MDI) Anwendung zu integrieren.

Um ein neues MDI-Unterfenster zu öffnen, wählen Sie im Hauptmenü Window > Add tab widget.

MDI-Fenster mit mehreren Unterfenstern mit Registerkarten

Beispielprojekt @ code.qt.io

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