Qt程式設計詳解 定時器

2021-09-26 23:07:46 字數 1684 閱讀 6292

qt中的qtimer兩種使用方式:

一、建立timer類

訊號: void start(int msec) 成員函式,開啟定時器並設定定時器的時間間隔  單位毫秒

時間到後會發出timeout訊號,連線槽函式即可

直到呼叫stop()函式停止。

#ifndef widget_h

#define widget_h

#include #include namespace ui

class widget : public qwidget

;#endif // widget_h

#include "widget.h"

#include "ui_widget.h"

widget::widget(qwidget *parent) :

qwidget(parent),

ui(new ui::widget)

widget::~widget()

void widget::slots_timer(void)

int main(int argc, char *ar**)

二、繼承類

事件:繼承qtimer類,對該類進行擴充套件,並覆蓋void timerevent(qtimerevent *e)事件

void start(int msec) 成員函式,開啟定時器並設定定時器的時間間隔

時間到後會自動執行timerevent函式

注意:事件函式被執行就不會再產生timeout訊號

#ifndef timer_h

#define timer_h

#include class timer : public qtimer

;#endif // timer_h

#include "widget.h"

#include "ui_widget.h"

widget::widget(qwidget *parent) :

qwidget(parent),

ui(new ui::widget)

widget::~widget()

void widget::slots_timer(void)

#include "timer.h"

int main(int argc, char *ar**)

成員函式

1)void qtimer::singleshot(int msec,qt::timertype timetype,const qobject *receiver,const *member)//在規定的時間間隔呼叫函式

2)void qtimer::start(int msec);

啟動或者重啟伺服器,msec為時間間隔,沒有引數時,時間間隔為0.

3)void qtimer::stop();

停止計時器

4)void qtimer::timeout();

當定時器時間到時,訊號被發射。

5)int qtimer::timerid()

返回正在執行的計時器的id號,否則返回為-1

Qt定時器及實現(詳解)

定時器是用來處理週期性事件的一種物件,類似於硬體定時器。例如設定乙個定時器的定時週期為 1000 毫秒,那麼每 1000 毫秒就會發射定時器的 timeout 訊號,在訊號關聯的槽函式裡就可以做相應的處理。qt 中的定時器類是 qtimer。qtimer 不是乙個可見的介面元件,在 ui 設計器的元...

Qt之定時器

qt中定時器的使用有兩種方法,一種是使用qobject類提供的定時器,還有一種就是使用qtimer類。定時器類qtimer提供當定時器觸發的時候發射乙個訊號的定時器,它提供只觸發一次的超時事件。1 啟動定時器 int m timerid starttimer 300 啟動乙個qtimer型別的定時器...

Qt定時器問題

1.如果此類繼承於qobject,可以直接呼叫以下函式 int qobject starttimer int interval,qt timertype timertype qt coarsetimer 此函式開啟乙個定時器,但只返回該定時器的編號,我們無法獲取定時器物件 即使建立了定時器物件也不應...