編程中經常要用到時間的顯示,因此在這總結一下在Qt中如何顯示時間。廢話不多說,直接上代碼,簡單明了,一看就懂~~
mydialog.h 文件
#ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog>
class QLCDNumber; class QTimer; class MyDialog : public QDialog { Q_OBJECT public: explicit MyDialog(QWidget *parent = 0); signals: public slots: void onTimerOut(); private: QLCDNumber *lcd; QTimer *timer; }; #endif // MYDIALOG_H
mydialog.cpp文件
#include "mydialog.h"
#include <QtGui/QLCDNumber>
#include <QtGui/QVBoxLayout>
#include <QTimer>
#include <QTime>
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent)
{
//新建一個QLCDNumber對象
lcd = new QLCDNumber();
//設置晶體管控件QLCDNumber能顯示的位數
lcd->setDigitCount(10);
//設置顯示的模式為十進制
lcd->setMode(QLCDNumber::Dec);
//設置顯示方式
lcd->setSegmentStyle(QLCDNumber::Flat);
//新建一個QTimer對象
timer = new QTimer();
//設置定時器每個多少毫秒發送一個timeout()信號
timer->setInterval(1000);
//啟動定時器
timer->start();
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(lcd);
//信號和槽
connect(timer, SIGNAL(timeout()), this, SLOT(onTimerOut()));
//重新設置窗口的布局管理器
this->setLayout(layout);
//重新設置窗口的大小
this->resize(200, 100);
//重新設置窗口的標題
this->setWindowTitle("QTimerDemo");
}
void MyDialog::onTimerOut()
{
//獲取系統當前時間
QTime time = QTime::currentTime();
//設置晶體管控件QLCDNumber上顯示的內容
lcd->display(time.toString("hh:mm:ss"));
}
//main.cpp
#include <QtGui/QApplication>
#include "mydialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyDialog dialog;
dialog.show();
return a.exec();
}