PyQt4:我如何切换“保持领先””行为?

我想创建一个应用程序,用户将决定主窗口将始终位于其他应用程序之上。 在PyQt4中,很容易创建一个始终位于顶部的窗口。这里包括:PyQt:始终在最前面 我希望有一个小部件(菜单项,复选框等),可以打开或关闭此行为。到目前为止,我还没有找到重置原始行为的方法。 谢谢 UPDATE 在İsmail'cartman'Dönmez的建议之后,我搜索了一下,我在PyQt4中找到了WindowFlags示例的实现。 在这里能找到它     
已邀请:
这应该禁用它:
window.setWindowFlags(window.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint)
这应该使它:
window.setWindowFlags(window.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
    
你想要
Qt::WindowStaysOnTopHint
提示,参见Window Flags Example。     
罗什是对的。但是在更改标志后不要忘记包含window.show()。更改标志后,您的窗口将被隐藏。我还包括切换标志的代码。 这将清除它: window.setWindowFlags(window.windowFlags()& ~QtCore.Qt.WindowStaysOnTopHint) 这将使它: window.setWindowFlags(window.windowFlags()| QtCore.Qt.WindowStaysOnTopHint) 这将切换它: window.setWindowFlags(window.windowFlags()^ QtCore.Qt.WindowStaysOnTopHint)     
我无法评论Rosh的答案,所以请注意这里 - 对于Devuan上的PyQt 5.7,如果你在QDialog上显示后切换WindowStaysOnTopHint标志,窗口就会消失,你需要在之后立即再次显示()。除此之外它有效。     

要回复问题请先登录注册