2016-06-25 8 views
1

2つのQWindow W1について& W2。 W2を常にW1の上に置く方法はありますか? 私が使用している現在の方法は、W2を常に先頭にQt::WindowStaysOnTopHintで設定することです。QWindow、常に別のものの上に1つを保持する方法は?

しかし、ダイアログがウィンドウの後ろに表示されたときにモーダルダイアログもブロックされます。 モーダルダイアログをブロックしないでW2の上にW2を確実にする方法はありますか?

私はW2がQWidgetではないQQuickViewであるため、QWindowを使用します。

私は窓口で作業しています。

+0

QDialogを使用できない理由はありますか?それはQDialogの意図です –

+0

QDialogはモーダルですが、ウィンドウW2の下にあるので、私はそのモーダルQDialogをクリックできません。 – Nyaruko

+0

QWidowではなくQWindowであるのはなぜですか?最後に、 'Qt :: Window'や' Qt :: Tool'のようなウィンドウフラグを許可します。 – ilotXXI

答えて

0

はこれを試してみてください:hereが述べたように、ウィンドウは、まだ示されており、あなたの窓にその後、コールshow()されていない間

window->setWindowModality(Qt::WindowModal); 

あなたは、まずこれをコールする必要があります。あなたもw2の外観と動作を変更したい場合は

+0

ありがとうございますが、システムによって起動されたモーダルダイアログはまだブロックされます... – Nyaruko

0
w2->setTransientParent(w1); 

QWindow::setFlagsを使用しています。

しかし、副作用があるかもしれません。例えば。 w2が閉じると閉じます。

関連する問題