QQuickWidget - QQuickViewの比較例
ネイティブウィンドウとして埋め込まれたQQuickView に対するQQuickWidget の利点を示します。
この例では、2つの異なるアプローチを使用して、同じQWidget-ベースのユーザーインターフェイス内で同じQt Quick シーンを表示することができます: 1つは、QQuickView を使用し、子ウィンドウおよびQWidget::createWindowContainer() として使用します。もう1つは、QQuickWidget を使用しています。これは、真のQWidget として機能し、特に、真のQWidget から期待されるように、より優れたクリッピングとスタッキングをサポートします。
また、Qt Quick のシーンでは、OpenGL の直接レンダリングを使用しています。これは、QQuickWidget を使用しても、アクセラレーテッド 3D API を使用してレンダリングが行われることを証明しています。これは、この例がOpenGLに縛られており、他のグラフィックスAPI(Vulkan、Metal、Direct 3D)では動作しないということを意味しています。
Show Overlay(オーバーレイを表示)チェックボックスをクリックすると、ネイティブウィンドウを埋め込んだときに期待通りにレンダリングされないウィジェットスタッキングのケースが示され、QQuickWidget では期待通りにレンダリングされます。
マルチサンプル・アンチエイリアシングも実行できます。対応するチェックボックスで有効にすると、QQuickWidget は内部的にマルチサンプルレンダバッファにレンダリングされ、各レンダリングパス後に通常の非マルチサンプルの2Dテクスチャに解決されます。これにより、QWidget UI の残りの部分に影響を与えることなく、Qt Quick コンテンツのマルチサンプリングが可能になります。QQuickView 、ネイティブウィンドウは対応するウィンドウサーフェスにマルチサンプリングを要求し、プラットフォームでサポートされていれば、同様の結果をもたらします。
Qt Quick シーンはインタラクティブです:テキストフィールドへの入力は、どのエンベッディング技術が使用されているかに関係なく可能です。QQuickWidget は、入力イベントを自動的に基礎となるQt Quick シーンに転送します。
© 2025 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.