5

メインウィンドウが常に他のアプリの上に表示されるようにユーザーが決定するアプリを作成したいと思います。

PyQt4では、常に一番上にとどまるウィンドウを簡単に作成できます。これはここでカバーされています:PyQt:常にトップ

この動作のオンとオフを切り替えるウィジェット(メニュー項目、チェックボックスなど)が欲しいもの。これまでのところ、元の動作をリセットする方法は見つかりませんでした。

ありがとうございました

更新İsmail'cartman'Dönmezの提案の後、私はもう少し検索し、PyQt4でWindowFlagsの例の実装を見つけました。

ここで見つけることができます

4

4 に答える 4

15

これにより、無効になります。

window.setWindowFlags(window.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint)

これにより、次のことが可能になります。

window.setWindowFlags(window.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
于 2011-01-31T12:18:47.853 に答える
5

Roshは正しいです。ただし、フラグを変更した後は、window.show()を含めることを忘れないでください。フラグが変更されると、ウィンドウは非表示になります。フラグを切り替えるためのコードも含まれています。

これはそれをクリアします:

window.setWindowFlags(window.windowFlags()&〜QtCore.Qt.WindowStaysOnTopHint)

これにより、次のことが可能になります。

window.setWindowFlags(window.windowFlags()| QtCore.Qt.WindowStaysOnTopHint)

これはそれを切り替えます:

window.setWindowFlags(window.windowFlags()^ QtCore.Qt.WindowStaysOnTopHint)

于 2015-10-08T20:57:45.657 に答える
4

Qt::WindowStaysOnTopHintヒントが必要な場合は、ウィンドウフラグの例を参照してください。

于 2011-01-31T12:03:15.377 に答える
1

Roshの回答にコメントすることはできないので、ここで注意してください-DevuanのPyQt 5.7の場合、QDialogのWindowStaysOnTopHintフラグが表示された後に切り替えると、ウィンドウが消え、すぐにもう一度show()する必要があります。これ以外は動作します。

于 2017-11-05T14:02:12.957 に答える