2017-09-10 6 views
0

特定のウィンドウが所有するQQuickItemを別のウィンドウにレンダリングする必要があります。基本的にMyQQuickItemは、window1が所有し、window2にレンダリングされます。このスイッチは、特定の機能のために繰り返しアプリケーション内で発生する必要があります。QQuickItemを親階層を変更せずに第2のウィンドウにレンダリングする

私は目標を達成するために以下を行います。& コードは基本的には細かいところでとなります。

コード:

MyQQuickItem * myQuickItem = qmlEngine->rootObjects()[0]->findChild<QQuickItem*>("myquickitemobject"); 
myQuickItem->setParentItem(window1->contentItem()); 

// do the required on window2 

// then set window1 as parent back again 
myQuickItem->setParentItem(window2->contentItem()); 

問題:
技術の上には、機能的に正常に動作します。しかし、これは私がフリップフロップをフリップするために、ウィンドウ項目1からウィンドウ項目2に親項目を設定することと、ウィンドウ項目&の間をやり直すことを繰り返す必要があります。

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

+0

私はこれが可能ではないと思います。たぶん、低レベルのウィンドウやOpenGLクラスを使って遊んでみたが、それはqml/quickではない。それをウィジェットに配置し、ウィジェットの親を変更することもできますが、 – Felix

+0

https://stackoverflow.com/questions/46117093/how-create-a-separate-copy-of-a-qquickitem-render-it-on- a-different-window#comment79199704_46117093 – GrecKo

答えて

0

grabToImage()を使用して、グラブされたイメージを2番目のウィンドウに表示することができます。
これは理想的ではない可能性があります。あなたはこのサイトでこれを行う方法に関するいくつかの質問を見つけることができます。特に興味深いかもしれませんthis.

同じコンポーネントの2つのインスタンスに同じデータモデルを表示する2つのインスタンスを使用することができます。

関連する問題