之前一篇文章提出了一个问题“Qt下如何实现按钮点击防抖功能”;现总结如下:
一般需要全局实现防抖,所以定义了一个单例定时处理动作类,提供方法:
- 接收当前动作的对象信息UpdateEventAction(QObject *object,const QString& actionType)(结束上次定时;缓存当前事件对象为传入对象;重新开始定时);
- 设置定时间隔SetInterval(const int& interval);
- 定时处理信号SignalEventAction();
- 结束定时KillTimer();
外部使用时,绑定信号及处理函数;并在点击时将点击事件自身信息传入;
另外外部处理函数中,处理逻辑结束后,需要主动结束定时。