当前位置: 代码迷 >> QT开发 >> QPushButton:一直按住与释放 的有关问题
  详细解决方案

QPushButton:一直按住与释放 的有关问题

热度:474   发布时间:2016-04-25 03:56:35.0
QPushButton:一直按住与释放 的问题
要实现一个需求,就是一直按住按钮时不停的做一件事,松开时停止做。

但是QT的QPushButton不像mfc中的按钮只要按住就会一直发一个消息,它只会发一次pressed信号,所以我的办法就是收到pressed信号时创建个定时器,定时器不停触发做一个任务,松开按钮时收到released信号,停止定时器。

问题就来了,一直按住按钮时,如果此时我的软件因为其他原因弹出个对话框,此时按钮恢复非按下状态,但是它不发射released信号!所以定时器没有停止!

请教QT的按钮如何实现一直按住这种处理,并且可以被弹出对话框中断。

------解决方案--------------------
用事件过滤器吧
鼠标按下事件,像你说的可以加上个失去焦点事件,弹出对话框后按钮失去了焦点,停止你要做的事情
------解决方案--------------------
这3个属性就是做这个重复工作的:

------解决方案--------------------