問題タブ [qquickitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
440 参照

qt - QQuickItem の位置を新しい親に変換する方法

以下のような2 つQQuickItemの s があり、このようなものを使用して C++ 側で取得できますQMLEngine

注: quick_item_1の直接の親は異なります&quick_item_2の直接の親も異なります。ただし、両方とも同じアプリケーション ウィンドウに描画され、直接の親が異なります。

私はそれらの両方を別の画面外に描いていますQQuickItem。と呼びましょうnew_parent_surfacenew_parent_surface親をこのように変更して、これらの両方のアイテムを描画しnew_parent_surfaceます。

これは、それらを新しい親 QQuickItem に描画する目的でうまく機能します。私は と の両方を取得quick_item_1quick_item_2ますnew_parent_surface。は UI に描画されていnew_parent_surfaceませんが、grabToImageを使用してスナップショットを撮るとnew_parent_surface、それらに描画された 2 つのアイテムが表示されます。ここまでいい。

ただし、&の位置が正しくありません。元の親アイテムを配置したのと同じように配置したいと思います。パーセンテージ計算を行って、元の親に描画されたのと同じ方法で配置を試みることができますが、この配置を新しい親に変換する QQQuickItem または Qt API はありませんか?quick_item_1quick_item_2

mapToItem のようなQQuickItemのマッピング API を調べて、このように試してみました。

しかし、ポジショニングはまだ正しくありません。

では、setParentItemを実行した後、 QQuickItem の位置をその新しい親 QQuickItem にマップするにはどうすればよいですか?

0 投票する
1 に答える
289 参照

qt - 親階層を変更せずに、2 番目のウィンドウで QQuickItem をレンダリングします。

QQuickItem特定のウィンドウが所有するウィンドウを別のウィンドウにレンダリングする必要があります。基本的MyQQuickItemに window1 が所有し、window2 にレンダリングされます。この切り替えは、特定の機能のためにアプリで繰り返し発生する必要があります。

目標を達成するために次のことを行います。コードは基本的に正常に動作します

コード:

問題:
上記の手法は機能的に正常に機能します。しかし、これには、window1 から window2 への親アイテムの設定とその逆の間で数回フリップフロップする必要があります。

質問: 2 つのウィンドウ間で共有する他の方法
はありますか? または、親階層を変更せずに両方のウィンドウに交互に表示することは可能ですか?MyQQuickItemMyQQuickItem

0 投票する
1 に答える
872 参照

qt - 子供たちの可視性の変化にどのように反応するのですか?

さまざまなコンテナ アイテムがあり、すべての子が表示されていない場合は非表示にしたいと考えています。

動的に、一部のコードはすべてのアイテムを再帰的に解析し、フィルターに応じてそれらを表示または非表示に設定します (検索入力など)。このフィルタリングでは、コンテナ アイテムは無視されます。

そのフィルタリングの後、可視性が変更されたことを検出し、それに応じてコンテナ アイテムを更新するにはどうすればよいですか?

これまでのところ、このコードがありますが、子の可視性が変更されるたびにこれを実行する必要があります: