10.QT-显示类控件|LCD Number|ProgressBar|Calendar Widget(C++)

LCD Number

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

属性 说明
intValue QLCDNumber 显⽰的数字值(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 设置⽐较⼩的⼩数点.
代码⽰例:倒计时

1)在界⾯上创建⼀个 QLCDNumber ,初始值设为10.
objectName 为 lcdNumber
![[Pasted image 20250420134015.png]]

2)修改widget.h代码,创建⼀个 QTimer 成员,和⼀个 updateTime 函数
使用QLCDNumber显示一个初始的数值,比如10
每隔一秒钟,数字就-1 一直到0,就停止了.
此处关键要点是要实现“每秒钟-1”这个效果
周期性的执行某个逻辑~~“定时器"
C++标准库中,没有提供定时器的实现.Boost里面提供了对应的功能
Qt中也封装了对应的定时器~~(结合了信号槽机制的) QTimer
通过这个类创建出来的对象,就会产生一个timeout这样的信号
可以通过start方法来开启定时器,并且参数中设定触发timeout信号的周期

#include "widget.h"
#include "ui_widget.h"
#include <QTimer>
#include <QDebug>
  
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->lcdNumber->display("10");
    //创建一个QTimer实例
    QTimer* timer = new QTimer(this);
    //把QTimer的timeout信号和自己的槽函数进行连接
    connect(timer, &QTimer::timeout, this, &Widget::handle);
    // 启动 QTimer, 并且规定每隔 1000ms 触发⼀次 timeout 信号
    timer->start(1000);
}
  
Widget::~Widget()
{
    delete ui;
}
  
void Widget::handle()
{
    qDebug() << "handle";
}

QTimer 表⽰定时器.通过 start ⽅法启动定时器之后,就会每隔⼀定周期,触发⼀次QTimer::timeout 信号.
使⽤ connect 把 QTimer::timeout 信号和 Widget::handle 连接起来,意味着每次触发 QTimer::timeout 都会执⾏ Widget::handle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值