有兩種方法實現定時器。
第一種。自己建立關聯。
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 ...