Qt Quick ウィジェットの例
QQuickWidget クラスを使用して、Qt Quick とQt Widgets アプリケーションを連携させる方法を示しています。

この例では、Qt Widgets アプリケーション内にQt Quick のシーンを埋め込む方法や、Qt Widgets とQt Quick の間でさまざまなUI要素がどのように統合されるかを示しています。これには以下が含まれます:
- Qt Widgets とQt Quick
- QQuickView をQLayout
例の動作確認
以下の手順でサンプルを実行できます:
- Qt Creator
Welcome モードを開き、Examples からサンプルを選択します。詳細については、Qt Creator: チュートリアル: ビルドと実行を参照してください。
- Qt Extension for Visual Studio Code
「Command Palette 」から「Qt: Open Qt examples 」コマンドを実行し、リストから例を選択します。詳細については、Qt Extension for Visual Studio Code: チュートリアル: ビルドと実行を参照してください。
Qt Quick ビューの統合
Qt Quick ビューのシームレスな統合を実証するため、この例ではQt Quick ビューのスクリーンショットを撮影するいくつかの手法を実装しています。
メインメニューから「File 」を選択し、以下のいずれかのオプションを選択して、Qt Quick ビューのスクリーンショットを撮影します。
- Grab framebuffer - `QQuickWidget::grabFramebuffer ` 関数を使用してスクリーンショットを取得します。
- Render to pixmap - `QWidget::render `関数と、パラメータとしてQPixmap インスタンスを使用してスクリーンショットを撮影します。この方法は、Qt Widgets で一般的に使用されます。
- Grab via grabToImage - QMLファイルで宣言された
performLayerBasedGrab関数を呼び出します。performLayerBasedGrab関数は、スクリーンショットを取得するためにQML ItemのItem::grabToImage 関数を呼び出します。このアプローチは、C++からネストされたビューのQML APIを呼び出す方法を示しています。

MDI における QQuickWidget
また、この例では、QQuickWidget を使用して、ハードウェアアクセラレーション対応のQt Quick シーンを Qt Widgets のマルチドキュメントインターフェース(MDI)アプリケーションにシームレスに統合する方法も示しています。
新しいMDIサブウィンドウを開くには、メインメニューから「Window 」>「Add tab widget 」を選択します。

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