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()
{
}