电视云网站建设,百度收录规则2022,长沙网站建设 599,做黑彩票的网站赚钱吗文章目录 LCD Number1. 介绍2. 核心属性3 . 代码实现:倒计时1. 在界⾯上创建⼀个 QLCDNumber , 初始值设为 10.2. 修改 widget.h 代码, 创建⼀个 QTimer 成员, 和⼀个 updateTime 函数3. 修改 widget.cpp, 在构造函数中初始化 QTimer4. 修改 widget.cpp, 实现 updateTime 4. 动… 文章目录 LCD Number1. 介绍2. 核心属性3 . 代码实现:倒计时1. 在界⾯上创建⼀个 QLCDNumber , 初始值设为 10.2. 修改 widget.h 代码, 创建⼀个 QTimer 成员, 和⼀个 updateTime 函数3. 修改 widget.cpp, 在构造函数中初始化 QTimer4. 修改 widget.cpp, 实现 updateTime 4. 动画展示 LCD Number
1. 介绍
在Qt中QLCDNumber 是一个用于显示数字的控件它模仿了传统的LCD液晶显示器显示方式。QLCDNumber 通常用于显示数字信息如计时器、计数器或其他数值数据。
2. 核心属性
属性说明intValueQLCDNumber 显⽰的数字值(int)valueQLCDNumber 显⽰的数字值(double)和 intValue 是联动的. 例如给 value 设为 3.5, intValue 的值就是 4.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设置⽐较⼩的 ⼩数点.
3 . 代码实现:倒计时
1. 在界⾯上创建⼀个 QLCDNumber , 初始值设为 10. 2. 修改 widget.h 代码, 创建⼀个 QTimer 成员, 和⼀个 updateTime 函数
QTimer* timer;
void updateTime();3. 修改 widget.cpp, 在构造函数中初始化 QTimer
• QTimer 表⽰定时器. 通过 start ⽅法启动定时器之后, 就会每隔⼀定周期, 触发⼀次 QTimer::timeout 信号. • 使⽤ connect 把 QTimer::timeout 信号和 Widget::updateTime 连接起来, 意味着每 次触发 QTimer::timeout 都会执⾏ Widget::updateTime
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui-setupUi(this);
// 创建 QTimer 实例
timer new QTimer(this);
// 连接信号槽. QTimer 会每隔⼀定的时间触发⼀个 timeout 信号. 现在把 timeout 信号
和 updateTime 连接起来.
// 此时意味着每次触发 timeout 信号都会伴随 updateTime 函数的执⾏.
connect(timer, QTimer::timeout, this, Widget::updateTime);
// 启动 QTimer, 并且规定每隔 1000ms 触发⼀次 timeout 信号.
timer-start(1000);
}4. 修改 widget.cpp, 实现 updateTime
• 通过 intValue 获取到 QLCDNumber 内部的数值. • 如果 value 的值归 0 了, 就停⽌ QTimer . 接下来 QTimer 也就不会触发 timeout 信号了
void Widget::updateTime() {
qDebug() updateTime;
int value ui-lcdNumber-intValue();
if (value 0) {
// 如果时间到, 停⽌定时器.
timer-stop();
return;
}
ui-lcdNumber-display(value - 1);
}代码总结 widget.h
#ifndef WIDGET_H
#define WIDGET_H#include QWidget
#include QTimer
#include QDebugQT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();private:void updateTime();Ui::Widget *ui;QTimer* timer;
};
#endif // WIDGET_Hwidget.cpp
#include widget.h
#include ./ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);ui-lcdNumber-display(10);// 创建 QTimer 实例timer new QTimer(this);// 连接信号槽. QTimer 会每隔⼀定的时间触发⼀个 timeout 信号. 现在把 timeout 信号//和 updateTime 连接起来.// 此时意味着每次触发 timeout 信号都会伴随 updateTime 函数的执⾏.connect(timer, QTimer::timeout, this, Widget::updateTime);// 启动 QTimer, 并且规定每隔 1000ms 触发⼀次 timeout 信号.timer-start(1000);
}Widget::~Widget()
{delete ui;
}void Widget::updateTime()
{qDebug() updateTime;int value ui-lcdNumber-intValue();if (value 0) {// 如果时间到, 停⽌定时器.timer-stop();return;}ui-lcdNumber-display(value - 1);
}
4. 动画展示