在pyqt中,我可以定义一个按键和键盘释放事件,但是,只要键降低,键盘事件就会持续触发,而我更喜欢一次触发的事件一次当键首先按下时。
是否有这样的内置事件?
如果没有,最简单和正确的是什么(即同时按多个键等强大的方法(来创建一个?
一种可能是使用QKeyEvent
的isAutoRepeat()
方法:
from PyQt5.QtWidgets import *
class Widget(QWidget):
def keyPressEvent(self, event):
if not event.isAutoRepeat():
print(event.text())
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())