如何在PyQt中激活应用程序窗口

时间:2014-08-02 12:01:43

标签: python pyqt pyqt4

我试图设置窗口标志:

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()

感谢。

1 个答案:

答案 0 :(得分:0)

你应该尝试的第一件事是:

self.setFocus(QtCore.Qt.PopupFocusReason)
相关问题