长按按键不松开也会触发 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  # 松开键后变量归零

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部