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

  

时间: 2024-10-01 21:38:40

Qt5中用QLCDNumber显示时间的相关文章

博客园定制页面(五)——使用自定义JS脚本(公告栏显示时间)

一.js使用方法 使用方法主要分为以下几步: 在本地创建js脚本文件: 博客园的管理——文件——选择文件——上传 然后在设置里面的博客侧边栏公告或者页首Html代码或者页脚Html代码中用自定义的html等代码调用即可. 注意:博客园的js权限需要申请开通.一般先写两篇博客再申请,如果不通过多申请两次即可通过. 二.公告栏钟表显示时间 下面是示例我的博客公告栏的钟表显示的js设置方法: 创建js脚本 上传到自己账户的文件中,然后在博客侧边栏公告调用js脚本 2.1.本地创建js脚本 本地创建名为

asp 之 让实体中字段类型为DateTime的字段只显示日期不显示时间

       在我们平时的工作开发中,我们通常会遇到这样的一个问题:某个实体的某个字段是DateTime类型的,可是我们在界面上只想让它显示日期不显示时间! 一个订单实体: //订单类 public class order { //订单ID public int id{get;set;} //物品ID public int resId{get;set;} //物品名称 public string resName { get; set; } //物品价格 public decimal price

php 中date显示时间不对与Linux文件乱码问题

php 中date显示时间不对解决办法如下1.修改/etc/php.ini文件 在里头中找到data.timezone =去掉它前面的分号';' 然后设置data.timezone = "Asia/Shanghai";即可 2.在程序代码中使用函数date_default_timezone_set('Asia/Shanghai'); 或者date_default_timezone_set('PRC'); 即可 LINUX 系统显示中文文件乱码 解决办法如下 1.永久解决 输入local

用JLabel显示时间-- JAVA初学者遇到的一个困难

问题:用一个JLabe,显示秒数,每过一秒数字自动减少1 问题看似很简单,但对初学JAVA的我来说,还真费了一点劲. 首先是如何即时,可以采用线程的方法: try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } timeLeft --; Thread.sleep( n ) 代表过n个毫秒之后再接着走下一步程序,也就是说n为1000时,在这停一秒再继续走接下去的步骤.相当于计时一秒. 那

history命令不显示时间

有时候系统的history命令不显示时间,但是我们想查看命令执行的时间是什么时候怎么办,下面的命令可以解决: export HISTTIMEFORMAT="%F %T" 不过这种是临时解决办法,如果想永久生效就把这段添加到/etc/profile里边,然后执行source /etc/profile使之生效

Android中通过反射来设置显示时间

这个Toast的显示在Android中的用途还是很大的,同时我们也知道toast显示的时间是不可控的,我们只能修改他的显示样式和显示的位置,虽然他提供了一个显示时间的设置方法,但是那是没有效果的(后面会说到),他有两个静态的常量Toast.SHORT和Toast.LONG,这个在后面我会在源码中看到这个两个时间其实是2.5s和3s.那么我们如果真想控制toast的显示时间该怎么办呢?真的是无计可施了吗?天无绝人之路,而且Linux之父曾经说过:遇到问题就去看那个操蛋的源代码吧!!下面就从源代码开

FPGA学习之数码管(封装)显示时间

一.实验目的:学习数码管封装以及显示时间.二.实验环境:FPGA开发板AX301,Quartus ii三.实验介绍:将数码管显示模块封装起来,同时通过不断读取RTC时钟的时分秒值,将之显示在数码管.实验时,将实时时间的时分秒写入程序,运行程序后可以看到数码管显示的时间会不断的刷新.四.源码 module smg_interface_demo ( input CLK, input RSTn, output RST, output SCLK, inout SIO, output [7:0]SMG_D

svn查看日志(show log)显示时间为1970的解决方法

问题: 在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间.解决方法:1.编辑svnserve.conf,设置“anon-access=none” 2.在authz中添加 [/]* = r 3,清理svn的cache 即可 svn查看日志(show log)显示时间为1970的解决方法,布布扣,bubuko.com

asp 之 让实体中字段类型为DateTime的字段仅仅显示日期不显示时间

       在我们平时的工作开发中.我们一般会遇到这种一个问题:某个实体的某个字段是DateTime类型的,但是我们在界面上仅仅想让它显示日期不显示时间! 一个订单实体: //订单类 public class order { //订单ID public int id{get;set;} //物品ID public int resId{get;set;} //物品名称 public string resName { get; set; } //物品价格 public decimal price