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 では期待通りにレンダリングされます。
マルチサンプル・アンチエイリアシングも実行できます。QWidget 対応するチェックボックスで有効にすると、QQuickWidget は内部的にマルチサンプルレンダバッファにレンダリングし、各レンダリングパスの後に通常の非マルチサンプルの 2D テクスチャに解決されます。QQuickView では、ネイティブ・ウィンドウが対応するウィンドウ・サーフェスにマルチサンプリングを要求し、プラットフォームでサポートされていれば、同様の結果をもたらします。
Qt Quickシーンはインタラクティブです:テキストフィールドへの入力は、どのエンベッディング技術を使用しているかに関係なく可能です。QQuickWidget 、入力イベントを自動的にQt Quickシーンに転送します。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。