QDateTime類,頭文件#include <QDateTime> 可以使用QDateTime類來獲得系統時間。通過QDateTime::currentDateTime()來獲取本地系統的時間和日期信號。可以通過date()和time()來返回 datetime中的日期和時間部分,代碼如下: QDateTime *datetime=new QDateTime(QDateTime::currentDateTime()); QString s=datetime->date().tostring();
void Dialog::add() { QDateTime *datetime=new QDateTime(QDateTime::currentDateTime()); QString tmp=datetime->date().toString(); label1->setText(tmp); }
QTimer類 定時器(QTimer)的使用非常簡單,只需要一下幾個步驟就可以完成定時器的應用。 新建一個定時器 QTimer *time_clock=new QTimer(this); 連接這個定時器的信號和槽,利用定時器的timeout()。 connect(time_clock,SIGNAL(timeout()),this,SLOT(slottimedone())); time_clock->start(2000); 開啟定時器,並設定定時周期 --定時器定時有兩種方式,start(int time)和setSingleShot(true),其中,start(int time)表示每隔"time"秒就會重啟定時器,
可以重復觸發定時,利用stop()將定時器關掉,二setSingleShot(true)則是僅啟動定時器一次,工程中常用的是前者。
#include "dialog.h" #include <QGridLayout> #include <QDateTime> //構造函數 Dialog::Dialog(QWidget *parent) : QDialog(parent) { time1=new QTimer(this); btn1=new QPushButton(this); edit1=new QLineEdit(this); edit2=new QLineEdit(this); label1=new QLabel(this); btn1->setText("求和"); label1->setText("label"); QGridLayout * layout=new QGridLayout(this); layout->addWidget(edit1,0,0); layout->addWidget(edit2,0,1); layout->addWidget(btn1,1,0); layout->addWidget(label1,1,1); //將btn1點擊事件和add函數關聯起來 connect(btn1,SIGNAL(clicked()),this,SLOT(add())); //將time1的timeout()時間和on_time函數關聯起來 connect(time1,SIGNAL(timeout()),this,SLOT(on_time())); } void Dialog::add() { //判斷定時器是否已經啟動 if(time1->isActive()) //停止定時器 time1->stop(); else time1->start(1000);//表示每隔1秒就會重啟定時器 } //窗口標題每秒變化一次 void Dialog::on_time() { //獲取當前系統時間 QDateTime *date1=new QDateTime(QDateTime::currentDateTime()); QString s=date1->time().toString(); //獲取秒 //date1->time().second(); this->setWindowTitle(s); } Dialog::~Dialog() { }