PyQt相当于" keydown"事件?

时间:2018-02-28 05:17:44

标签: python pyqt pyqt5 qkeyevent

在PyQt中我可以定义一个keyPress和一个keyRelease事件,但是,只要键关闭,keyPress事件就会被连续触发,而我更喜欢在第一次按下键时触发一次的事件下来。

是否有这样的内置事件?

如果不是,最简单和正确的是什么(即同时按下多个键的强大等等)创建一个?

1 个答案:

答案 0 :(得分:2)

一种可能是使用isAutoRepeat()QKeyEvent方法:

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