用到了对QWidget类的键盘事件处理的重写。
代码:
# coding='utf-8'
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtCore import Qt
import sys
class Gui(QWidget):
def __init__(self):
super().__init__()
self.start()
def start(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('键盘事件处理')
self.show()
# 重写QWidget的对键盘事件的处理,当用户按下键盘按键时就会进入这里
def keyPressEvent(self, e) -> None:
print('文本', e.text())
print('类型', e.type())
print('key值', e.key())
print('_________________\n\n')
if e.key() == Qt.Key_Escape:
self.close()
win = QApplication(sys.argv)
gui = Gui()
sys.exit(win.exec_())
运行结果:

网友评论