[英]How to activate application window in PyQt
I tried to set window flags: 我试图设置窗口标志:
self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
it works perfectly but event keyPressEvent doesn't firing. 它工作正常,但事件keyPressEvent不会触发。 After I activate window (ALT+TAB) event starts and work.
在我激活窗口(ALT + TAB)之后,事件开始并起作用。
By the way, I tried to activate window with call this event: self.activateWindow()
but it doesn't work for me. 顺便说一句,我试图通过调用以下事件来激活窗口:
self.activateWindow()
但它对我不起作用。
How to fix it? 如何解决?
full-code: 完整代码:
def show(self):
geometry = QtGui.QApplication.desktop().screenGeometry()
self.setFixedSize(geometry.width(), geometry.height())
self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.FramelessWindowHint)
self.setWindowOpacity(.3)
self.setStyleSheet("background: 'black'")
self.raise_()
self.show()
def keyPressEvent(self, e):
key = e.key()
if key == QtCore.Qt.Key_Escape:
self.close()
Thanks. 谢谢。
您应该尝试的第一件事是:
self.setFocus(QtCore.Qt.PopupFocusReason)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.