简述

QLCDNumber控件用于显示一个LCD数字。

它可以显示几乎任意大小的数字。可以显示十进制、十六进制、八进制或二进制数。很容易使用display()槽连接到数据源,这个槽可以被任何五个参数类型的数据源重载。

当显示范围以外的数据时,就会发射overflow()信号。返回可以通过setDigitCount()来设置,但是setSmallDecimalPoint() 也会影响它。如果显示设置为十六进制、八进制或二进制,就会显示整数等效值。

这些数字和其它符号可以显示:0/O、1、 2、 3、 4、5/S、 6、7、 8、9/g、负号、小数点、A、 B、 C、D、E、F、h、H、L、o、P、r、u、U、Y、冒号、度数符号(字符串中被指定为单引号)和空格。 QLCDNumber会将非法字符替代为空格。

获取QLCDNumber的内容是不可能的,虽然可以通过value()来获取(返回的double类型,如果显示其他格式怎么办)。所以如果真的需要文本,建议自己存储数据。

接口说明

接口 描述
setDigitCount(int numDigits) 设置所显示的位数
setBinMode() 以二进制形式显示
setOctMode() 以八进制形式显示
setHexMode() 以十六进制形式显示
setDecMode() 以十进制形式显示(默认)
setSmallDecimalPoint(bool) 其参数设置为true或者false,决定了小数点单独站一位空间还是在两个位之间。换句话说,如果参数为true,小数点将占用比平常更少的空间
setSegmentStyle(SegmentStyle) 改变现实数字的外观,包括:Outline、Filled、Flat
checkOverflow(double num) 检查给定值是否可以在区域内显示(也会发射overflow()信号,可以将其连接到槽中处理)

下面我们来实现一个更新时钟的效果。

效果

QLCDNumber

首先我们构建一个QLCDNumber对象,并设置显示位数、外观、样式等效果。

m_pLCD = new QLCDNumber(this);
// 设置能显示的位数
m_pLCD->setDigitCount(25);
// 设置显示的模式为十进制
m_pLCD->setMode(QLCDNumber::Dec);
// 设置显示外观
m_pLCD->setSegmentStyle(QLCDNumber::Flat);
// 设置样式
m_pLCD->setStyleSheet("border: 1px solid green; color: green; background: silver;");

定时器

然后,构建一个定时器,每隔一秒来定时刷新QLCDNumber中的内容。

QTimer *pTimer = new QTimer(this);
// 设置定时间隔
pTimer->setInterval(1000);
connect(pTimer, SIGNAL(timeout()), this, SLOT(onTimeOut())); // 启动定时器
pTimer->start();

槽函数

获取当前日期时间,显示格式为:年-月-日 时:分:秒.毫秒。

void onTimeOut()
{
// 获取系统当前时间
QDateTime dateTime = QDateTime::currentDateTime();
// 显示的内容
m_pLCD->display(dateTime.toString("yyyy-MM-dd HH:mm:ss.zzz"));
}

Qt之QLCDNumber的更多相关文章

  1. 《Qt 实战一二三》

    简介 "我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流",不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的 ...

  2. Qt 之 数字钟

    本例用来展示 QTimer 的使用,如何定时的更新一个窗口部件. 1  QLCDNumber 类 QLCDNumber 是一种可将数字显示为类似 LCD 形式的窗口部件,它同 QLabel 一样,都继 ...

  3. QT入门

    QT += core gui widgets //引入需要用到的库 qDebug()<<"t="<<t<<QTime::currentTime( ...

  4. 《Linux与Qt程序设计》知识框架

    本文主要是通过一本书来大致了解Qt开发的框架,不对具体内容做详细分析. 1.首先弄清楚概念:定义->以自己的话理解是什么-> 实现的是什么功能->用在哪些地方 2.前面认识到的知识点 ...

  5. Qt的Qss样式

    http://www.cnblogs.com/coffeegg/archive/2011/11/15/2249452.html(转) http://blog.csdn.net/cgzhello1/ar ...

  6. 【QT】计时器制作

    应小伙伴的要求,做一个小计时器.功能是点击开始就从00:00:00开始计时,点击暂停就暂停计时,点击停止就停止计时. 界面如上图,使用ui设计师直接拖的.按钮和图标的图片都是网上下载的.用美图秀秀抠成 ...

  7. qt 5 基础知识 2(控件篇)

    QVBoxLayout *lay = new QVBoxLayout(this); // 创建一个竖直的盒子 lebel 篇 lay->addWidget(label = new QLabel( ...

  8. Qt入门(19)——自定义窗口部件

    我们介绍可以画自己的第一个自定义窗口部件.我们也加入了一个有用的键盘接口.我们添加了一个槽:setRange().        void setRange( int minVal, int maxV ...

  9. Qt入门(16)——组装窗口部件

    这个例子显示了创建几个窗口部件并用信号和槽把它们连接起来,和如何处理重新定义大小事件. #include <qapplication.h> #include <qpushbutton ...

随机推荐

  1. vs2010创建并使用DLL

    一.为什么需要dll 代码复用是提高软件开发 效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架, 如ATL ...

  2. 分布式数据存储 - Zabbix监控MySQL性能

    Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...

  3. datagridview 点击列标题排序

    开发winform中,平时经常用到数据列表,我们大多选用datagridview,但是此控件本身没有排序的功能.参阅网上资料.留下标记,以后备用. datagridview的数据显示一般是通过数据绑定 ...

  4. PYTHON发送邮件时,有的服务器不用密码认证的

    #!/usr/bin/python # coding: UTF-8 import smtplib from email.mime.text import MIMEText receivers_list ...

  5. C# 实现抓取网站页面内容

    抓取新浪网的新闻栏目,如图所示: 使用 谷歌浏览器的查看源代码: 通过分析得知,我们所要找的内容在以下两个标签之间: <!-- publish_helper name='要闻-新闻' p_id= ...

  6. JAVA容器

    JAVA容器 一.容器体系结构 java.util 二.迭代器Iterator<E> 迭代器是一种设计模式,可以遍历并选择序列中的对象,而开发人员并不需要了解该序列的底层结构.迭代器通常被 ...

  7. [转载] Linux poll机制

    原地址:http://hongwazi.blog.163.com/blog/#m=0&t=3&c=poll poll的是一种查询的方式,英文解释 :民意调查 函数原型:int poll ...

  8. Gradle Goodness: Rename Ant Task Names When Importing Ant Build File

    Migrating from Ant to Gradle is very easy with the importBuild method from AntBuilder. We only have ...

  9. LoadRunner8 安装步骤

    一.介绍 LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.企业使用L ...

  10. 为什么要关闭360云盘:新来的美工嫌我们logo太丑,所以就决定关闭了。这个理由怎么样

    新来的美工嫌我们logo太丑,所以就决定关闭了.这个理由怎么样曾经拥有的不要忘记:不能得到的更要珍惜:属于自己的不要放弃:已经失去的留作回忆.我刚来~~~嘿嘿~~ 久经考验的,忠诚的国际宅男主义战士, ...