PyQt4:如何切换“保持在最上面”的行为?

2024-09-24 00:33:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个应用程序,用户将决定它的主窗口将始终保持在其他应用程序之上。

在PyQt4中,很容易创建一个始终位于顶部的窗口。这里包括:PyQt: Always on top

我想要的是一个小部件(菜单项,复选框等)来打开或关闭这个行为。到目前为止,我还没有找到一种方法来重置原始行为。

谢谢你

更新 在“smail'cartman'Dónmez”的建议下,我进一步搜索了一下,在PyQt4中找到了WindowFlags示例的一个实现。

可以找到here


Tags: 方法用户应用程序on部件topalwayspyqt
3条回答

如果需要Qt::WindowStaysOnTopHint提示,请参见Window Flags Example

这将禁用它:

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

这将使它能够:

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

罗斯是对的。但是不要忘记在更改标志后包含window.show()。当标志更改时,您的窗口将被隐藏。我还包括了切换国旗的代码。

这将清除它:

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

这将使它能够:

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

这将切换它:

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

相关问题 更多 >