0

我正在用 PyQt4 编写一个小应用程序。

使用“WindowStaysOnTopHint”,我可以使应用程序的窗口保持在其他窗口的顶部。现在我想点击显示桌面的 Windows7 右下角的按钮,最小化所有内容。但是程序(一个笔记应用程序)应该始终可见而不是被最小化。

使用“WindowStaysOnTopHint”它可以工作,但它也位于所有其他窗口之上,例如 firefox,这不是我想要的。

是否有特殊命令,或者我可以以某种方式过滤“显示桌面”按钮?

4

1 回答 1

0

您可以覆盖 eventFilter() 方法,这样如果用户集中注意力(单击窗口外的其他内容),您可以禁用停留在停止标志。

class MyWidget(QWebView):
    def __init__(self):
        super(MyWidget, self).__init__()
        self.installEventFilter(self)

    def eventFilter(self, qobject, qevent):
        qtype = qevent.type()
        if qtype == QEvent.FocusOut:
           #disable the stay on top flag, by setting some other flag
           self.setWindowFlags(WindowCloseButtonHint)
           return True
        return super(MyWidget, self).eventFilter(qobject, qevent)
于 2013-12-17T19:46:25.837 回答