首先,qt物件的基類qobject為我們提供了乙個基本的定時器,它是通過定時器事件來觸發的。其步驟如下:
step1:通過函式int qobject::starttimer(int interval)函式來啟動乙個定時器,其中引數interval為時間間隔,其時間單位為毫秒(ms);starttimer()函式的返回型別為int,這個整型數字是定時器的識別符號,用來唯一標識這個此時由starttimer函式開啟的定時器。
當然,我們可以同時開啟多個定時器,並返回不同的定時器識別符號,在事件處理函式中,我們可以利用qtimeevent::timeid()函式來判斷當前事件是由那個定時器觸發的,後面的例子裡面將詳細介紹。
step2:開啟定時器後,在每個時間間隔後會產生乙個qtimeevent事件,並進入事件迴圈等待處理;
step3:當等到qtimeevent事件處理的時候,會呼叫timeevent(qtimeevent*)事件處理函式來處理這個定時器事件;
step4:開啟定時器後,定時器事件會一直發生著,然後我們可以呼叫killtimer(int)函式來結束某個定時器,引數可以指定需要結束的定時器識別符號。
下面做乙個簡單的計時器來說明之。
ticker.h
#include class qlabel;
class qtime;
class ticker : public qwidget
;
ticker.cpp
#include
#include"ticker.h"
#include
ticker::ticker(qwidget*parent):
qwidget(parent)
voidticker::timerevent(qtimerevent
*event)
else
if(number1
>=
60)
}
ticker::~ticker()
Qt事件 定時器事件
qt中的定時器除了實用qtimer之外,凡是繼承了qobject的物件都可以使用定時器事件。1 開啟定時器 int qobject starttimer int interval,qt timertype timertype qt coarsetimer 返回值是定時器id。引數1是時間間隔,可以有...
Qt 中定時器事件
定時器是用來處理週期性事件的一種物件,類似於硬體定時器。例如設定乙個定時器的定時週期為 1000 毫秒,那麼每 1000 毫秒就會發射定時器的 timeout 訊號,在訊號關聯的槽函式裡就可以做相應的處理。定時器例項程式執行示意圖 要使用定時器,需要新增qtimer類 include 1.視窗類新增...
QT定時器事件startTimer
1 開啟乙個定時器 int starttimer int interval,qt timertype timertype qt coarsetimer 功能 啟動乙個定時器事件並返回乙個定時器id 引數說明 interval 定時器的觸發時間 觸發的間隔時間 2 關閉定時器void qobject ...