pyqt5 KeyPressEvent事件存在的问题

在pyqt5 KeyPressEvent获取按键信息时,若界面中存在按钮,界面焦点默认在按钮上,此时空格键、回车键、方向键以及tab键均无法获取到。为解决这个问题,可以在界面初始化的时候,设置获取焦点的方法setFocusPolicy(Qt.StrongFocus),此时tab键可以切换焦点的位置,当焦点不在按钮上时,此时可以获取空格键、回车键以及方向键,空格键的event.key()值为32。

self.setFocusPolicy(Qt.StrongFocus)

Qt.TabFocus           通过Tab键获得焦点

Qt.ClickFocus        通过被单击获得焦点

Qt.StrongFocus     可通过上面两种方式获得焦点

Qt.NoFocus          不能通过上两种方式获得焦点(默认值),setFocus仍可使其获得焦点

当焦点在按钮上时,空格和回车键相当于直接鼠标点击按钮,触发按钮相连的函数。

你可能感兴趣的:(pyqt学习)