1.新建gui工程,在主介面上新增乙個標籤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()
qdatetime time = qdatetime::currentdatetime();
//獲取系統現在的時間
qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd");
//設定系統時間顯示格式
ui->label->settext(str);
//在標籤上顯示時間
5.執行程式。
mainwindow.h
#ifndef mainwindow_h
#define mainwindow_h
#include
namespace ui {
class mainwindow;
class mainwindow : public qmainwindow
q_object
public:
explicit mainwindow(qwidget *parent = 0);
~mainwindow();
private:
void timerevent(qtimerevent *);
private:
ui::mainwindow *ui;
private slots:
void on_btnlogin_clicked();
#if 0
void timerupdate();
#endif
#endif // mainwindow_h
mainwindow.cpp
#include
#include
#include
#include "mainwindow.h"
#include "ui_mainwindow.h"
mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)
ui->setupui(this);
#if 0
qtimer *timer = new qtimer(this);
connect(timer, signal(timeout()), this, slot(timerupdate()));
timer->start(1000);
#else
qsrand(time(0));
starttimer(1000);// 返回值為1, 即timerid
starttimer(5000);// 返回值為2
starttimer(10000);// 返回值為3
#endif
mainwindow::~mainwindow()
delete ui;
void mainwindow::on_btnlogin_clicked()
qmessagebox::information(this, "caption", tr("hello你好嗎"), qmessagebox::ok);
#if 0
void mainwindow::timerupdate()
qdatetime time = qdatetime::currentdatetime();
qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd");
ui->lblcurdate->settext(str);
#else
void mainwindow::timerevent(qtimerevent *t)
switch(t->timerid())
case 1:
qdatetime time = qdatetime::currentdatetime();
qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd");
ui->lblcurdate->settext(str);
ui->lbl1->settext(tr("每秒產生乙個隨機數: %1").arg(qrand() % 10));
ui->lbl1->adjustsize();
break;
case 2:
ui->lbl2->settext(tr("5秒後軟體將關閉"));
ui->lbl2->adjustsize();
break;
case 3:
break;
#endif
main.cpp
#include
#include
#include "mainwindow.h"
int main(int argc, char *ar**)
qtextcodec::setcodecfortr(qtextcodec::codecforname("utf-8"));
mainwindow w;
w.show();
return a.exec();
qt ui怎麼定時 Qt基礎教程之定時器及實現
就是計算定時器開始到停止持續的時間長度,計時器是 qtime類。圖 定時器例項程式執行示意圖 qtimer 主要的屬性是 interval 是定時中斷的週期,單位毫秒。qtimer 主要的訊號是 timeout 在定時中斷時發射此訊號,要想在定時 中斷裡做出響應,這就需要編寫 timeout 訊號的...
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 此函式開啟乙個定時器,但只返回該定時器的編號,我們無法獲取定時器物件 即使建立了定時器物件也不應...