欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt5中用QLCDNumber显示时间

程序员文章站 2024-01-04 08:20:34
...

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

  

上一篇:

下一篇: