长按按键不松开也会触发 keyReleaseEvent 事件,是由于操作系统的键盘事件处理机制。大多数操作系统在检测到键盘按键被长按时,会重复生成按键按下 (keyPressEvent
) 和按键释放 (keyReleaseEvent
) 事件。这种行为通常被称为“键盘自动重复”。
通过检测 event.isAutoRepeat(),判断按键是否长按未松开
def keyPressEvent(self, event):
if event.key() == Qt.Key_Up:
self.variable += 0.1
def keyReleaseEvent(self, event):
if not event.isAutoRepeat():
if event.key() == Qt.Key_Up:
self.variable = 0.0 # 松开键后变量归零
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » PYQT按键长按机制
发表评论 取消回复