我需要让我的窗口顶级当我需要。 创建窗口的代码:

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)

和当我需要我做的:

self.setWindowFlags(Qt.WindowStaysOnTopHint)

但运行的代码我的窗口隐藏这部分后......我不知道,它在哪里。但是我的程序没有关闭! 救命!我怎样才能让我的窗顶在最需要的时刻?

有帮助吗?

解决方案

调用.show()或你的窗口上.raise()应使其顶聚焦。

从DOC为setWindowFlags()

  

注意:此函数调用的setParent()   改变国旗的窗口时,   造成小部件被隐藏。您   必须调用show()使控件   再次可见..

我只是想增加对别人谁发现这个问题的是,Qt的文档for C ++是一个很好的资源,甚至使用PyQt的时候,只要确保你指向适用于您的版本的Qt的C ++文档的版本PyQt的(最新的PyQt编译对4.4如果这是你使用的是什么)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top