使用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