使用QTimer
作为计时部分。
对于“屏幕保护程序”类似的,创建一个单次定时器,将其连接到您的自定义插槽,并将其间隔设置为两分钟。
activeTimer = new QTimer(this);
activeTimer->setInterval(2*60*1000);
activeTimer->setSingleShot(true);
connect(activeTimer, SIGNAL(timeout()), this, SLOT(activateAutoClick()));
activeTimer->start();
在这种定制插槽,开始连接到第二个自定义插槽
void YourThing::activateAutoClick() {
autoTimer->setInterval(5*1000);
autoTimer->setSingleShot(false);
connect(autoTimer, SIGNAL(timeout()), this, SLOT(autoClick()));
autoTimer->start();
}
第二,非单次计时器,做任何你在autoClick
将信号发送到你的端口方面想。
要取消任一计时器,只需调用它们的stop()
方法/插槽即可。
为贯彻落实“屏幕保护程序”问题,创建一个功能:
- 呼叫
autoTimer->stop()
禁用自动点击
- 呼叫
activeTimerr->start(2*60*1000)
重新启动一个
,并调用该函数只要需要。您可以从已有的按钮插槽或重复事件处理程序(如QWidget
的mouseMoveEvent
,keyPressedEvent
等)中执行此操作。 (请务必阅读处理程序的文档,有些需要特殊准备。)
来源
2011-08-07 12:30:42
Mat