QT中定時器的使用

2021-10-19 02:42:19 字數 1958 閱讀 4505

使用tim

erev

en

ttimerevent

timere

vent

[override virtual

protected

]void qtimer::

timerevent

(qtimerevent *e)

所以只需要在wid

get.

hwidget.h

widget

.h裡宣告一下,然後去wid

get.

cp

pwidget.cpp

widget

.cpp

實現即可

具體的操作寫在函式tim

eeve

nt

timeevent

timeev

ent中

但是怎麼觸發時間呢??我們需要啟用一下,也就是

s ta

rtti

mer(

x)

starttimer(x)

startt

imer

(x)

其中x

xx表示間隔xms

x\ ms

xms觸發一次

然後s ta

rtti

me

rstarttimer

startt

imer

會返回乙個int

intin

t型別的數,根據這個可以判斷當前是哪個定時器

比如下面,實現了在lab

el

label

labe

l中不停增長數字

#include

"widget.h"

#include

"ui_widget.h"

widget::

widget

(qwidget *parent)

:qwidget

(parent),ui

(new ui::widget)

void widget::

timerevent

(qtimerevent *e)

if( e-

>

timerid()

==id2 )

}widget::

~widget()

使用類qti

me

rqtimer

qtimer

例項物件,靠發射訊號來寫

ui-

>

setupui

(this);

qtimer *timer1 =

newqtimer

(this);

timer1-

>

start

(100);

connect

(timer1,

&qtimer::timeout,[=

]())

; qtimer *timer2 =

newqtimer

(this);

timer2-

>

start

(1000);

connect

(timer2,

&qtimer::timeout,[=

]())

;

邏輯更加清晰

現在繼續設定乙個按鈕,按下就停止計數

其實還是使用訊號來寫,用類sto

pstop

stop

一下就好了

connect

(ui-

>btn1,

&qpushbutton::clicked,[=

]())

;

QT中定時器的使用

在qt中使用定時器有兩種方法,一種是使用qobiect類的定時器 一種是使用qtimer類。定時器的精確性依賴於作業系統和硬體,大多數平台支援20ms的精確度。qobject類的定時器 qobject是所有qt物件的基類,它提供了乙個基本的定時器。通過qobject starttimer 可以把乙個...

qt中定時器的使用

在qt中使用定時器有兩種方法,一種是使用qobiect類的定時器 一種是使用qtimer類。定時器的精確性依賴於作業系統和硬體,大多數平台支援20ms的精確度。qobject類的定時器 qobject是所有qt物件的基類,它提供了乙個基本的定時器。通過qobject starttimer 可以把乙個...

Qt中定時器Timer使用

軟體平台 qt5.3 電腦作業系統 win7 64位 1.qtimeevent類用來描述乙個定時器事件的。通過函式starttimer來開啟乙個定時器,這個函式需要乙個以毫秒為單位的證書作為引數來表明設定的時間,函式返回乙個整型編號來代表這個定時器。當定時器溢位時就在timerevent 函式中獲取...