我正在用PyQt4编写一个小应用程序。
使用“WindowStaysOnTopHint”,我可以让应用程序的窗口保持在其他窗口的顶部。现在我想点击Windows7右下角的按钮,它显示了桌面,最大限度地减少了一切。但是程序(一个笔记应用程序)应始终保持可见,而不是最小化。
使用“WindowStaysOnTopHint”它可以工作,但它也保持在每个其他窗口的顶部,例如firefox,这不是我想要的。
是否有特殊命令或者我可以以某种方式过滤“show desktop”按钮吗?
答案 0 :(得分: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)