我正在编写一个简单的GUI,它将在特定点打开一个opencv窗口。该窗口具有一些非常基本的keyEvents来控制它。我想通过一些功能来推进这一点。由于我的QtGui是我的控制器,因此我认为使用KeyPressedEvent这样做是一种好方法。我的问题是,如果我在opencv窗口上处于活动状态,则无法触发KeyEvent。
那么,如果我的Gui不在焦点内,该如何触发KeyEvent?
我真的需要使用GrabKeyboard吗?
以下代码重现了我的问题:
import sys
from PyQt5.QtWidgets import (QApplication, QWidget)
from PyQt5.Qt import Qt
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setFocusPolicy(Qt.StrongFocus)
def keyPressEvent(self, event):
print('Key Pressed!')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())