Qt-QLCDNumber显示类控件(26)

目录

描述

相关属性

使用

使用函数来倒计时的一些问题


描述

是⼀个专⻔⽤来显⽰数字的控件.类似于"⽼式计算器"的效果.

相关属性

ntValueQLCDNumber 显⽰的数字值(int).
value

QLCDNumber 显⽰的数字值(double).

和intValue是联动的.例如给value设为1.5,intValue的值就是2.
另外,设置value和intValue的⽅法名字为 display ,⽽不是 setValue 或者 setIntValue .

digitCount显⽰⼏位数字.
mode数字显⽰形式.
1. QLCDNumber::Dec :⼗进制模式,显⽰常规的⼗进制数字。
2. QLCDNumber::Hex :⼗六进制模式,以⼗六进制格式显⽰数字。
3. QLCDNumber::Bin :⼆进制模式,以⼆进制格式显⽰数字。
4. QLCDNumber::Oct :⼋进制模式,以⼋进制格式显⽰数字。
只有⼗进制的时候才能显⽰⼩数点后的内容.
segmentStyle设置显⽰⻛格.
1. QLCDNumber::Flat :平⾯的显⽰⻛格,数字呈现在⼀个平坦的表⾯上。
2. QLCDNumber::Outline :轮廓显⽰⻛格,数字具有清晰的轮廓和阴影效
果。
3. QLCDNumber::Filled :填充显⽰⻛格,数字被填充颜⾊并与背景区分
开。
smallDecimalPoint设置⽐较⼩的⼩数点

需要注意的一点是这个 

使用

这里我们实现一个简单的倒计时程序

 

这个控件一般来说都是和其他控件关联起来一起使用的,这里我们就和定时器关联起来使用了

声明

定义 

 

使用函数来倒计时的一些问题

这里我们创建之后,在ui界面也可以直接改value的数值

注意这里的Qt程序默认是可以使用C++11 的,因为在之前配置过

因为QT不能直接使用sleep这个window里面提供的函数的,因此我们需要借助C++11里面的一个标准库来实现这个休眠操作

如下我们设置了自己的计算器,但是我们发现这里的显示是有大问题的,这里的程序并不是直接开始显示倒计时的,而是倒计10s后才显示的,并且显示为0,其实原因也很简单,就是阻塞了

如下,在构造函数中就阻塞住了

我们知道当创建一个新的线程的时候,主线程和新的线程并不会互相干扰,并且执行各自的操作,那么我们能不能用线程的方式来进行呢?至于QT中的线程操作的使用,其实就是和C++是一样的,Qt对其进行了沿用

如下我们进行实验,发现出现了异常了

Qt要求只能在主线程中修改界面,所以显然是不能这样做的

 

至于为什么界面可以一直维护,这也是一个很常见的编程手段

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风玉骨

爱了!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值