1.不要将事件在键盘响应事件中执行,应在键盘响应事件出设置布尔型变量。
例如:

void Widget:: keyPressEvent(QKeyEvent *key)//检测键盘按下{Q_UNUSED(key);if(start>0){return;}if(!pree_PAUSE) //当没有按下暂停键时{if(key->key()==Key_UP){pree_UP=true;}else if(key->key()==Key_LEFT){pree_LEFT=true;}else if(key->key()==Key_RIGHT){pree_RIGHT=true;}else if(key->key()==Key_DOWN){pree_DOWN=true;}else if(key->key()==Key_SHOOT){pree_SHOOT=true;}else if(key->key()==Key_PAUSE){pree_PAUSE=true;}}if(key->key()==Key_SHOOT&&pree_PAUSE){pree_START=true;}if(key->key()==Qt::Key_M)//直接返回主界面{emit retu_wel_Wi();}}

2.通过计时器来定时调用一个执行事件的函数,在该函数中是以这些变量的值来执行的,真就执行,执行完之后要记得把变量再赋值为 false。
例如:

**计时器绑定事件:**```cppconnect(time2[0],&QTimer::timeout,this,&Widget::setpress);

void Widget::setpress()//施行键盘响应事件
{

if (pree_UP)
{role1.setdire(UP);pree_UP=false;
}
else if (pree_LEFT)
{role1.setdire(LEFT);pree_LEFT=false;
}else if (pree_RIGHT)
{role1.setdire(RIGHT);pree_RIGHT=false;
}else if (pree_DOWN)
{role1.setdire(DOWN);pree_DOWN=false;
}
else if(pree_SHOOT)
{pree_SHOOT=false;if(!role1.bulle_t.getactive())  //如果已经有子弹在外边则不发射{ role1.shot();QSound::play(":/music/Audio/wav/Shoot.wav");}}
else  if(pree_START)
{timer1[0]->start(31); //表示每31毫秒都会调用与其关联的函数。timer1[1]->start(160);timer1[2]->start(1000);timer1[3]->start(60);pree_START=false;pree_PAUSE=false;
}
else if(pree_PAUSE)
{timer1[0]->stop(); //表示每31毫秒都会调用与其关联的函数。timer1[1]->stop();timer1[2]->stop();timer1[3]->stop();}

}


QT键盘响应卡顿的解决方法相关推荐

  1. 安卓系统卡顿的解决方法

    作为一个安卓的用户也是会有烦恼的,通常会遇到一系列的毛病,比如:手机经常会莫名其妙的变卡?点击app半天反应不过来?电话铃声响后却迟迟看不到电话界面?多个软件无缘无故的停止运行?这些都是安卓手机用户都 ...

  2. app内嵌h5页面在ios手机端滑动卡顿的解决方法

    app内嵌h5页面在ios手机端滑动卡顿的解决方法 参考文章: (1)app内嵌h5页面在ios手机端滑动卡顿的解决方法 (2)https://www.cnblogs.com/1rookie/p/11 ...

  3. 安卓手机USB无法共享、上网或卡顿的解决方法

    安卓手机USB无法共享.上网或卡顿的解决方法 参考文章: (1)安卓手机USB无法共享.上网或卡顿的解决方法 (2)https://www.cnblogs.com/tmdsleep/p/9190898 ...

  4. Win10蓝牙鼠标老是断连卡顿的解决方法

    Win10蓝牙鼠标老是断连卡顿的解决方法 参考文章: (1)Win10蓝牙鼠标老是断连卡顿的解决方法 (2)https://www.cnblogs.com/lzhu/p/11924163.html 备 ...

  5. win11间歇性卡顿怎么办 windows11间歇性卡顿的解决方法

    Win11间歇性卡顿怎么解决?现在很多用户都安装了Win11系统了,最近有用户反映,在使用Win11系统的时候经常会遇到间接性卡顿的情况,这个该如何解决呢?下面小编就为大家带来完美的解决方法介绍!更多 ...

  6. Word打字延迟卡顿的解决方法

    Word打字延迟卡顿的解决方法 最近不知道什么问题,word打字输入和删除经常延迟,写实验报告特搞心态,网上的方法也是五花八门,然后so lucky我找到了一种很快捷的方法,记录一下: 打开" ...

  7. Altium Designer 19卡顿的解决方法

    Altium Designer 19卡顿的解决方法 参考文章: (1)Altium Designer 19卡顿的解决方法 (2)https://www.cnblogs.com/Si-Mao/p/122 ...

  8. 计算机win7卡顿如何解决方法,win7电脑玩2D游戏经常发生卡顿六大解决方法

    最近有很多游戏玩家和小编说win7电脑玩2D游戏经常发生卡顿,游戏卡顿问题确实让玩家苦恼,因为导致2D游戏经常发生卡顿的原因有很多种,那么win7电脑玩2D游戏经常发生卡顿怎么办?不要着急,针对此问题 ...

  9. win10右键卡顿原因_win10系统点击鼠标右键出现卡顿的解决方法

    我们在使用电脑工作或者做其他事情的时候,如果电脑卡了会通过鼠标右键方式来刷新桌面.最近有Win10用户反映,在桌面上单击右键时,出现卡顿的情况,反应很慢.遇到这样的情况,我们应该怎么解决?现在小编就和 ...

最新文章

  1. 如何去写一手好 SQL?
  2. BAT教程 :第六节(if命令讲解)
  3. 计算机软件通常称为,计算机软件通常分为
  4. Errors occurred during the build. Errors running builder 'Validation' on pro
  5. 【泰语歌】กลับคำสาหล่า 歌手:Mike Piromporn
  6. 深入理解计算机系统学习记录(一)
  7. 子线程中更新UI线程的三个方法
  8. register_globals(全局变量注册开关)
  9. Yolo系列知识点梳理(Yolov1-v5)
  10. 联想成立35周年,年收入着实惊人
  11. 台达编码器型号含义_光电编码器型号含义_光电编码器应用实例
  12. RocketMQ 延时消息的使用和延时级别的配置
  13. LabVIEW编程LabVIEW控制GPS例程与相关资料
  14. 手机qq2010java触屏_手机QQ2010(Java触屏)Beta2发布:操作更流畅
  15. 从写作到演讲,虾米君不断尝试的 2021|年终回顾
  16. 安卓实例04-3:通过Intent使讯飞与tasker通讯作为语音助手
  17. UHS-I SD/miroSD接口速率速查表
  18. JAVA中的CAS算法
  19. python中的“ ... ”
  20. 数据采集需要学习哪些东西

热门文章

  1. 西电与中科大计算机专业哪个好,中国最好的5所“科技大学”,中科大第二,你的母校排第几?...
  2. flask貌似html文件里只能用flask指定的路径格式,css文件里则可用相对路径
  3. 第十一届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学B组
  4. Linux中top命令使用
  5. Nginx教程系列五:实现负载均衡配置
  6. Filebeat常用配置
  7. python求乘积内建函数_Python中的内建函数(Built_in Funtions)
  8. JUC系列(十一) | Java 8 CompletableFuture 异步编程
  9. 《Spring Cloud微服务架构开发实战》_董超笔记
  10. webapi输出炜json_WebApi返回Json格式