QT中倒计时显示 QLCDNumber

来源:互联网 发布:淘宝衣服女装 编辑:程序博客网 时间:2024/05/17 15:04

QT中倒计时显示 QLCDNumber

简述

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、FlatcheckOverflow(double num)检查给定值是否可以在区域内显示(也会发射overflow()信号,可以将其连接到槽中处理)

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

效果

    numb=new QLCDNumber(this);    numb->setAutoFillBackground(true);    QPalette pal=numb->palette();    pal.setBrush(numb->backgroundRole(),QBrush(QColor(127,0,0)));    numb->setPalette(pal);    numb->resize(10,25);    numb->setGeometry(375,20,60,30);    numb->setSegmentStyle(QLCDNumber::Outline);    numb->setDecMode();    numb->setSmallDecimalPoint(TRUE);    numb->setNumDigits(2);    numb->display(0074);

原创粉丝点击