要实现一个需求,就是一直按住按钮时不停的做一件事,松开时停止做。
但是QT的QPushButton不像mfc中的按钮只要按住就会一直发一个消息,它只会发一次pressed信号,所以我的办法就是收到pressed信号时创建个定时器,定时器不停触发做一个任务,松开按钮时收到released信号,停止定时器。
问题就来了,一直按住按钮时,如果此时我的软件因为其他原因弹出个对话框,此时按钮恢复非按下状态,但是它不发射released信号!所以定时器没有停止!
请教QT的按钮如何实现一直按住这种处理,并且可以被弹出对话框中断。
------解决方案--------------------
用事件过滤器吧
鼠标按下事件,像你说的可以加上个失去焦点事件,弹出对话框后按钮失去了焦点,停止你要做的事情
------解决方案--------------------
这3个属性就是做这个重复工作的:
------解决方案--------------------