当我需要时,我需要让我的窗户达到最高水平.创建窗口代码:
class Application(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, None, Qt.Tool | Qt.FramelessWindowHint)
self.setFocusPolicy(Qt.StrongFocus)
self.setAttribute(Qt.WA_QuitOnClose, True)
Run Code Online (Sandbox Code Playgroud)
当我需要的时候:
self.setWindowFlags(Qt.WindowStaysOnTopHint)
Run Code Online (Sandbox Code Playgroud)
但运行这部分代码后,我的窗口隐藏了......我不知道,它在哪里.但是我的节目没有结束!救命!如何在需要的时刻让我的窗户最顶级?
小智 7
在窗口上调用.show()或.raise()应该使其成为焦点.
注意:此函数在更改窗口的标志时调用setParent(),从而导致隐藏窗口小部件.您必须调用show()以使窗口小部件再次可见.
我只是想为其他任何发现这个问题的人添加即使使用PyQt,Qt doc for C++也是一个非常好的资源,只要确保你指向适用于你的PyQt版本的Qt C++ doc的版本(如果你正在使用的话,最新的PyQt是针对4.4编译的.