Qt5中用QLCDNumber显示时间

编程中经常要用到时间的显示,因此在这总结一下在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();   
}

  

原文地址:https://www.cnblogs.com/RainyBear/p/5219963.html