qt中定時器Timer的使用

2021-06-02 06:55:02 字數 1734 閱讀 9095

有兩種方法實現定時器。

第一種。自己建立關聯。

1.新建gui工程,工程名可以設定為timer。並在主介面上新增乙個標籤label,並設定其顯示內容為「0000-00-00 00:00:00 星期日」。

2.在mainwindow.h中新增槽函式宣告。

private slots:

void timerupdate();

3.在mainwindow.cpp中新增**。

新增#include 的標頭檔案包含,這樣就包含了qtcore下的所有檔案。

建構函式裡新增**:

qtimer *timer = new qtimer(this);

//新建定時器

connect(timer,signal(timeout()),this,slot(timerupdate()));

//關聯定時器計滿訊號和相應的槽函式

timer->start(1000);

//定時器開始計時,其中1000表示1000ms即1秒

4.然後實現更新函式。

void mainwindow::timerupdate()

5.執行程式,效果如下。

第二種。使用事件。(有點像微控制器中的定時器啊)

1.新建工程。在視窗上新增兩個標籤。

2.在main.cpp中新增**,實現中文顯示。

#include

qtextcodec::setcodecfortr(qtextcodec::codecforlocale());

3.在mainwindow.h中新增**。

void timerevent(qtimerevent *);

4.在mainwindow.cpp中新增**。

新增標頭檔案#include

在建構函式裡新增以下**。

starttimer(1000);//其返回值為1,即其timerid為1

starttimer(5000);//其返回值為2,即其timerid為2

starttimer(10000); //其返回值為3,即其timerid為3

新增了三個定時器,它們的timerid分別為1,2,3。注意,第幾個定時器的返回值就為幾。所以要注意定時器順序。

在下面新增函式實現。

void mainwindow::timerevent(qtimerevent *t) //定時器事件 }

這裡新增了三個定時器,並都在定時器事件中判斷它們,然後執行相應的功能。這樣就不用每個定時器都寫乙個關聯函式和槽函式了。

隨機數的實現:

上面程式中的qrand(),可以產生隨機數,qrand()%10可以產生0-9之間的隨機數。要想產生100以內的隨機數就%100。以此類推。

但這樣每次啟動程式後,都按同一種順序產生隨機數。為了實現每次啟動程式產生不同的初始值。我們可以使用qsrand(time(0));實現設定隨機數的初值,而程式每次啟動時time(0)返回的值都不同,這樣就實現了產生不同初始值的功能。

我們將qsrand(time(0));一句加入建構函式裡。

Qt中定時器Timer使用

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

qt ui怎麼定時 Qt 定時器Timer使用

1.新建gui工程,在主介面上新增乙個標籤label,並設定其顯示內容為 0000 00 00 00 00 00 星期日 2.在mainwindow.h中新增槽函式宣告。private slots void timerupdate 3.在mainwindow.cpp中新增 新增 include 的標...

Android中Timer定時器的使用

android中好幾種定時的機制,其中timer定時器經常被用到,其中有很多值得注意的地方,timer定時器主要用來定時一段時間之後來執行某種任務 timer timer new timer timertask task new timertask timer.schedule task,5000 ...