Auf dieser Seite

Qt Quick Beispiel für Widgets

Veranschaulicht, wie man Qt Quick mithilfe der Klasse „ QQuickWidget “ in eine Qt Widgets -Anwendung einbindet.

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 Aspekte der Benutzeroberfläche zwischen „ Qt Widgets “ und „ Qt Quick “ integriert werden. Dazu gehören:

  • den Fokuswechsel zwischen Qt Widgets und Qt Quick
  • Einbettung einer „ QQuickView “-Anwendung in eine QLayout

Ausführen des Beispiels

Sie können das Beispiel wie folgt ausführen:

Qt Quick Integration der Ansicht

Um die nahtlose Integration der Ansicht „ Qt Quick “ zu veranschaulichen, werden in diesem Beispiel verschiedene Ansätze zum Erstellen eines Screenshots der Ansicht „ Qt Quick “ umgesetzt.

Wählen Sie im Hauptmenü „ File “ aus und wählen Sie anschließend eine der folgenden Optionen, um einen Screenshot der Ansicht „ Qt Quick “ zu erstellen:

  • Grab framebuffer - Erstellt den Screenshot mithilfe der Funktion „ QQuickWidget::grabFramebuffer “.
  • Render to pixmap - Erstellt den Screenshot mithilfe der Funktion „ QWidget::render “ und einer „ QPixmap “-Instanz als Parameter. Dieser Ansatz ist bei „ Qt Widgets “ üblich.
  • Grab via grabToImage - Ruft die in der QML-Datei deklarierte Funktion „ performLayerBasedGrab “ auf. Die Funktion „ performLayerBasedGrab “ ruft die Funktion „ Item::grabToImage “ des QML-Items auf, um den Screenshot zu erstellen. Dieser Ansatz veranschaulicht, wie man die QML-APIs verschachtelter Ansichten aus C++ aufruft.

Menü „Datei“ mit drei Optionen zum Erstellen von Screenshots

QQuickWidget in MDI

Das Beispiel veranschaulicht zudem, wie Sie mit „ QQuickWidget “ hardwarebeschleunigte „ Qt Quick “-Szenen nahtlos in eine Qt Widgets-MDI-Anwendung (Multiple Document Interface) integrieren können.

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.