2009-08-18 5 views
1

2つのQtウィンドウを一緒に接続する方法はありますか?たとえば、ウィンドウAがメインウィンドウで、ウィンドウBが別のウィジェットである場合、ウィンドウBをAの側に表示し、ウィンドウがドラッグされると両方のウィンドウが一緒に動くようにしたいと考えています。Qtウィンドウを添付しますか?

+0

ウィンドウを分離したままにしたいが、ウィンドウを一緒に移動するか、両方のウィンドウの内容を1つのウィンドウに入れたいか? – swongu

答えて

3

私は認識していませんが、QMoveEventのトレイルに従うことができます。与えられたウィジェットが移動されるとvoid QWidget::moveEvent (QMoveEvent * event)が呼び出され、QMoveEventには古いものと新しいものが含まれます。この情報を使用して、他のウィジェットにもムーブイベントを挿入し、それをフォローできます。

もちろん、私は2つの独立したウィジェットをそれぞれ独自のウィンドウで表しています。それらが含まれている場合は、レイアウト管理以外のものは必要ありません(QLayoutおよび関連クラスを参照)。

私は長い間、Qtを使用していませんので、より良い方法があるかもしれませんが、今すぐそれをやらなければならない場合、これは私が使用する戦略です。

また、マウストラッキングを有効にしない限り、QMoveEventは開始時と終了時にのみ呼び出されるという感覚があります。前者が当てはまる場合、スムーズに従うのではなく、移動の終わりにもう一方のウィジェットが「テレポート」することになります。

1

あなたはこのようなものの後に次のようになります。

http://doc.qt.io/archives/4.6/qt4-mainwindow.html

ウィンドウAはQDockWidgetだろうQMainWindow、ウィンドウBになります。

+0

ウィンドウBはウィンドウAの側でなければなりません。ウィンドウAではなくウィンドウ – TimW

+0

私は、必要なものを明確にするために元のポスターが必要だと思っています。 だからこそ私は私のレスポンスを "力強い"ものとすることができました。 – Dave

関連する問題