目录

TroubleshotQt-长按按键-keyPressEvent-keyReleaseEvent-自动重复问题

【Troubleshot】Qt 长按按键 keyPressEvent keyReleaseEvent 自动重复问题

问题描述

处理按键释放时发现 按键 长按 的情况下,keyPressEvent keyReleaseEvent 循环进入,表现为 press release press release press release press release …

原因分析:

Qt 默认启用自动重复,长按是触发了按键时间的自动重复。

解决方案:

https://i-blog.csdnimg.cn/direct/a156410c497647aca0512f796540ff8a.png

查看文档:

按键 真实按下/释放 isAutoRepeat false

重复屏蔽:

void CarlaSim::keyPressEvent(QKeyEvent *e)
{

    if(e->isAutoRepeat()){
        return ;
    }
QWidget::keyPressEvent(e);
}