QQuickWidget と QQuickView の比較例
ネイティブウィンドウとして埋め込まれたQQuickView と比較して、QQuickWidget の利点を示しています。

この例では、同じQWidget ベースのユーザーインターフェース内で、同じQt Quick シーンを2つの異なるアプローチで表示します。
- QQuickView を使用する方法。
これは子ウィンドウとして使用され、QWidget::createWindowContainer() と共に使用されます。
- QQuickWidget を使用する方法。
真のQWidget として動作し、真のQWidget に期待される通り、より優れたクリッピングやスタッキングなどをサポートします。
Show widget overlay チェックボックスをクリックすると、ネイティブウィンドウを埋め込んだ際に期待どおりにレンダリングされないウィジェットのスタック例が示されますが、QQuickWidget を使用すると期待どおりにレンダリングされます。
例の動作確認
サンプルは次の手順で実行できます:
- 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 のシーンは、QQuickWidget に組み込まれている場合でも、OpenGLによるダイレクトレンダリングを使用します。これにより、レンダリングには引き続きアクセラレーションされた3D APIが使用されることが確認されます。
したがって、このサンプルはOpenGLに依存しており、Vulkan、Metal、Direct3Dなどの他のグラフィックスAPIでは動作しません。
マルチサンプルアンチエイリアシング
対応するチェックボックスを選択することで、マルチサンプルアンチエイリアシングを有効にできます。有効にすると、QQuickWidget はコンテンツをマルチサンプルレンダーバッファにレンダリングします。各レンダリングパスの後、コンテンツは標準の2Dテクスチャに変換されます。これにより、QWidget ベースのUIの他の部分に影響を与えることなく、Qt Quick のコンテンツに対してアンチエイリアシングを有効にできます。
QQuickView を使用している場合、ネイティブウィンドウはそのサーフェスに対してマルチサンプリングを要求します。これにより、プラットフォームのサポート状況に応じて、同様の結果が得られます。
キーボード入力
Qt Quick シーンは、使用される埋め込み技術に関係なく、テキスト入力を含むユーザー操作をサポートしています。QQuickWidget を使用する場合、入力イベントは自動的にQt Quick シーンに転送されます。
「Qt Quick ウィジェット」も参照してください 。
© 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.