文章目录
- 1. 介绍
- 2. 实例 - QLCDNumber倒计时
- 3. 资源文件
1. 介绍
QLCDNumber
是Qt框架中用于显示数字的控件,它模拟了一个液晶数字显示屏。
- 在Designer界面中显示如下:
有以下 常用属性:
属性 | 描述 |
---|---|
intValue | 获取或设置QLCDNumber 显示的整数值。 |
doubleValue | 获取或设置QLCDNumber 显示的浮点数值。 |
mode | 获取或设置QLCDNumber 的显示模式。 |
segmentStyle | 获取或设置QLCDNumber 的段样式。 |
frameShape | 获取或设置QLCDNumber 的框架形状。 |
frameShadow | 获取或设置QLCDNumber 的框架阴影效果。 |
digitCount | 获取或设置QLCDNumber 显示的数字位数。 |
2. 实例 - QLCDNumber倒计时
这里我们 利用QLCDNumber实现倒计时:即 从10开始,每一秒-1,直至为0。实现倒计时的效果:
如何实现每秒 -1 的操作? —— 利用定时器
- 首先在
widget.h
创建一个Qtimer对象以及 处理函数:
public slots:void startCountdown(); // 开始倒计时void startTimer(); // 启动计时器
private:QTimer* timer;
- 随后在
widget.cc
中分别对槽函数进行实现:
void Widget::startTimer()
{// 启动定时器, 参数为触发timeout的周期(ms)timer->start(1000);
}void Widget::startCountdown()
{// 获取当前 LCDNumber 数值int value = ui->lcdNumber->intValue();if (value <= 0){// 数字减到0, 停止定时器.timer->stop();return;}ui->lcdNumber->display(value - 1);
}
- 最后在构造函数中进行 初始值的设置 以及 信号槽的连接:
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 设置初始值ui->lcdNumber->display(10);// 创建 QTimer(计时器)timer = new QTimer(this);// 将计时器的timeout信号与槽函数startCountdown连接connect(timer, &QTimer::timeout, this, &Widget::startCountdown);// 将点击按钮信号与槽函数startTimer连接connect(ui->pushButton_start, &QPushButton::clicked, this, &Widget::startTimer);
}
效果演示:
3. 资源文件
上述所涉及的代码等资源文件在👇
QLCDNumber的使用 - 实现倒计时