Qt 按键长按的处理

keyPressEvent()部分代码:
if (e->key() == Qt::Key_A && e->isAutoRepeat())
{
  if (!mPressFlag_A)
       {
            mKeyDirection.x = -1;//这里就是真正按键按下触发的事件
        }
        mPressFlag_A = true;
    }
keyReleaseEvent()部分同理:
if (e->key() == Qt::Key_A && mKeyDirection.x == -1 && e->isAutoRepeat())
    {
        if (mPressFlag_A)
        {
            mKeyDirection.x = 0;//这里就是真正按键释放触发的事件       
        }
        mPressFlag_A = false;
   }
posted @ 2015-05-22 13:29  luxiaolai  阅读(2157)  评论(0编辑  收藏  举报