我试图设置窗口标志:
self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
它完美地工作但事件keyPressEvent没有触发。激活窗口(ALT + TAB)后,事件启动并运行。
顺便说一句,我尝试通过调用此事件来激活窗口:self.activateWindow()
但它对我不起作用。
如何解决?
全代码:
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()
感谢。
答案 0 :(得分:0)
你应该尝试的第一件事是:
self.setFocus(QtCore.Qt.PopupFocusReason)