Qt5中用QLCDNumber显示时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt5中用QLCDNumber显示时间相关的知识,希望对你有一定的参考价值。

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

  

以上是关于Qt5中用QLCDNumber显示时间的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PyQT5 上更新 QLCDNumber 的值?

Qt液晶显示器不工作

QT软件开发之基础控件--2.5.3 QLCDNumber 数码管控件

QLcdNumber 奇怪的行为

Qt 使用 QLCDNumber 制作计时器

Qt入门系列开发教程基础控件篇QLCDNumber数码管类型控件