このページでは

Qt Quick ウィジェットの例

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

MDIサブウィンドウ内のデジタル時計と回転する長方形

この例では、Qt Widgets アプリケーション内にQt Quick のシーンを埋め込む方法や、Qt Widgets とQt Quick の間でさまざまなUI要素がどのように統合されるかを示しています。これには以下が含まれます:

例の動作確認

以下の手順でサンプルを実行できます:

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を呼び出す方法を示しています。

3つのスクリーンショット撮影オプションを備えた「ファイル」メニュー

MDI における QQuickWidget

また、この例では、QQuickWidget を使用して、ハードウェアアクセラレーション対応のQt Quick シーンを Qt Widgets のマルチドキュメントインターフェース(MDI)アプリケーションにシームレスに統合する方法も示しています。

新しいMDIサブウィンドウを開くには、メインメニューから「Window 」>「Add tab widget 」を選択します。

複数のタブ付きサブウィンドウを持つMDIウィンドウ

サンプルプロジェクト @ 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.