2017-04-27 21 views
0

私はそれに何かを描画するメインウィンドウを持っており、別のウィンドウに描画を即座に表示します。今私が直面している問題は、これらのウィンドウの両方を行う最良の方法は何かです。2つのウィンドウ間の通信Qt5

答えて

0

あなたは同じプログラムでウィンドウを起動した場合、あなたが他のウィンドウへのポインタを渡すことができますし、それを保存します。MyWindowOneで

は:

include "mywindow2.h" 

class MyWindowOne { 

MyWindowTwo * p_window_two; 

} 

同じ他のウィンドウのために。これらのポインタを使用して、他のウィンドウクラスのウィンドウを操作できるようになりました。 MyWindow2.hで

class MyWindowTwo { 

friend class MyWindowOne; 

... 

} 
+0

ご返信ありがとうございます。私は上記のあなたの提案を試みました。しかし、私はまだ2番目のウィンドウでPaintEvent()を起動できません。助言がありますか ? –

+0

どのように呼びますか? .uiファイルから自動生成されたヘッダーがある場合は、それらも含めなければなりません。例えば、 – Thomas

+0

。 #include "mywindow2.h" #include "ui_mywindow2.h" – Thomas

0

は本当にあなたがやっているとどのようにあなたが何をしているかに依存します。

最も簡単な方法は、2つのQGraphivsViewを使用し、それらの間で同じQGraphivsScene()を共有することです。

2番目の方法は、2番目のウィンドウでupdate()をトリガーし、paintEventにQPixmapを描画することです。このピクスマップは最初のウィジェットのピックスマップにする必要があります。

どちらも機能します。

関連する問題