1.qtimer(重複和單發計時器)
應用qtimer時,先建立乙個qtimer類,利用connect將timeout()與對應槽函式連線,在呼叫start()函式設定定時器時間間隔,每經過設定時間後,定時器會發出乙個timeout(),相應的槽函式就會被觸發,直到呼叫stop()函式停止。
qtimer *timer = new qtimer(this);
connect(timer,signal(timeout()),this,slot(function));
timer->start(1000);
也可以不用定義qtimer類,直接呼叫qtimer的成員函式singleshot(),定時器只執行一次
qtimer::singleshot(200,this,slot(updatecaption()));//200/1000秒後啟動功能函式
2.成員函式
1)void qtimer::singleshot(int msec,qt::timertype timetype,const qobject *receiver,const *member)//在規定的時間間隔呼叫函式
舉例: #include < qtimer>
int main(int argc,char *ar**)
//功能表述,在10分鐘後,應用程式將關閉
2)void qtimer::start(int msec);
啟動或者重啟伺服器,msec為時間間隔,沒有引數時,時間間隔為0.
3)void qtimer::stop();
停止計時器
4)void qtimer::timeout();
當定時器時間到時,訊號被發射。
5)int qtimer::timerid()
返回正在執行的計時器的id號,否則返回為-1
3.qobject類的定時器
qobject是所有qt物件的基類,它提供了乙個基本的定時器。通過qobject::starttimer(),可以把乙個一毫秒為單位的時間間隔作 為引數來開始定時器,這個函式返回乙個唯一的整數定時器的識別符號。這個定時器開始就會在每乙個時間間隔"觸發",直到明確的使用這個定時器的識別符號來呼叫 qobject::killtimer()結束。
當定時器觸發時,應用程式會傳送乙個qtimerevent。在事件迴圈中,處理器按照事件佇列的順序來處理定時器事件。當處理器正忙於其它事件處理時,定時器就不能立即處理。
qobject類還提供定時期的功能。與定時器相關的成員函式有:starttimer()、timeevent()、killtimer()。
qobject基類中的starttimer()和timerevent()原型及說明如下:
int qobject::starttimer(int interval);
開始乙個定時器並返回定時器id,如果不能開始乙個定時器,將返回0。定時器開始後,每隔interval毫秒間隔將觸發一次超時事件,直到killtimer()被呼叫來刪除定時器。如果interval為0,那麼定時器事件每次發生時沒有視窗系統事件處理。
virtual void qobject::timerevent(qtimerevent *event);
虛函式timerevent()被過載來實現使用者的超時事件處理函式。如果有多個定時器在執行,qtimerevent::timerid()被用來查詢指定定時器,對其進行操作。
當定時器事件發生時,虛函式timerevent()隨著qtimerevent事件引數類一起被呼叫,過載這個函式可以獲得定時器事件。
定時器的用法如下:
//標頭檔案
class qnewobject : public qobject
;//原始檔
qnewobject::qnewobject( qobject * parent )
:qnewobject( parent )
qnewobject::~qnewobject()
void qnewobject::timerevent( qtimerevent *event )
Qt 定時器的使用
在qt中使用定時器有兩種方法,一種是使用qobiect類的定時器 一種是使用qtimer類。定時器的精確性依賴於作業系統和硬體,大多數平台支援20ms的精確度。1.qobject類的定時器 qobject是所有qt物件的基類,它提供了乙個基本的定時器。通過qobject starttimer 可以把...
QT定時器的使用
使用qtimer定時器類 1 首先建立乙個定時器類的物件 qtimer timer new qtimer this 2 timer 超時後會發出timeout 訊號,所以在建立好定時器物件後給其建立訊號與槽 connect timer,signal timeout this,slot ontimeo...
Qt定時器 QTimer使用
2014 06 17 15 39 1631人閱讀收藏 舉報 qt基本應用 31 作者同類文章x 1 qtimer類提供了定時器訊號和單觸發定時器。qtimer很容易使用 建立乙個qtimer,使用start 並把timeout 連線到槽函式。當這段時間過去了,它將會發射timeout 訊號。2 使用...