QT中定時器的使用方法

2021-06-17 23:29:08 字數 1891 閱讀 3658

qt中定時器的使用方法

(1)過載timerevent(qtimerevent *)函式,然後再在類的建構函式中設定時間間隔

starttimer(50);//單位為毫秒

(2)在類的建構函式中設定如下:

qtimer *timer=new qtimer(this);

connect(timer,signal(timeout()),this,slot(timeoutslot()));//timeoutslot()為自定義槽

timer->start(1000);

qt定時器的兩種應用

2009-10-14 8:44

可以用槽函式實現

(1)過載timerevent(qtimerevent *)函式,然後再在類的建構函式中設定時間間隔

starttimer(50);//單位為毫秒

(2)在類的建構函式中設定如下:

qtimer *timer=newqtimer(this);

connect(timer,signal(timeout()),this,slot(timeoutslot()));//timeoutslot()為自定義槽

timer->start(1000);

[c++]view plain

copy

print?

qtimer *timer=new qtimer(this);  

connect(timer,signal(timeout()),this,slot(timeoutslot()));//timeoutslot()為自定義槽

timer->start(1000);  

qtimer *timer=new qtimer(this);

connect(timer,signal(timeout()),this,slot(timeoutslot()));//timeoutslot()為自定義槽

timer->start(1000);

然而:所有qobject的子類在設定定時器時都不必載入乙個qtimer物件,因為這樣造成了資源浪費且需要書寫多餘的函式,很不方便.最好的辦法是過載timerevent函式,具體寫法如下:

classgui_dlgviewctrldatum :publicqdialog

;voidgui_dlgviewctrldatum::timerevent( qtimerevent *e )

[c++]view plain

copy

print?

class gui_dlgviewctrldatum : public qdialog  

;  void gui_dlgviewctrldatum::timerevent( qtimerevent *e )    

class gui_dlgviewctrldatum : public qdialog

;void gui_dlgviewctrldatum::timerevent( qtimerevent *e )

再在gui_dlgviewctrldatum的建構函式中設定時間間隔:

starttimer(50);//單位為毫秒

這樣,每隔50毫秒,函式timerevent便會被呼叫一次.

網上又說:

定時器事件的優先順序很低,如果需要多個定時器,那麼跟蹤每乙個定時器的id是很費時的。這種情況下,較好的方法是為每乙個定時器建立乙個qtimer物件。在每乙個時間間隔內,qtimer發出乙個timeout()訊號。qtimer還支援一次性定時器(只發出一次timeout()訊號的定時器)。

QT中定時器的使用方法

qt中定時器的使用方法 1 過載timerevent qtimerevent 函式,然後再在類的建構函式中設定時間間隔 starttimer 50 單位為毫秒 2 在類的建構函式中設定如下 qtimer timer new qtimer this connect timer,signal timeo...

QT中定時器的使用方法

qt中定時器的使用方法 方法1 過載timerevent qtimerevent 函式,然後再在類的建構函式中呼叫starttimer 設定時間間隔,starttimer 50 單位為毫秒 即 每隔50ms就會執行一次timerevent 函式。方法2 利用訊號槽機制 在類的建構函式中設定如下 qt...

QT 中定時器兩種使用方法

qt中定時器的使用有兩種方法,一種是使用qobject類提供的定時器,還有一種就是使用qtimer類。其精確度一般依賴於作業系統和硬體,但一般支援20ms。下面將分別介紹兩種方法來使用定時器。方法一 qobject中的定時器的使用,需要用到三個函式 1 int qobject starttimer ...