【Qt 学习笔记】Qt常用控件 | 显示类控件 | LCD Number的使用及说明

简介: 【Qt 学习笔记】Qt常用控件 | 显示类控件 | LCD Number的使用及说明

Qt常用控件 | 显示类控件 | LCD Number的使用及说明

一、QLCDNumber介绍

1. 简介

QLCDNumer 是⼀个专门用来显示数字的控件,如下图所示

QLCDNumber是Qt中用于显示数字的控件类。它继承自QFrame类,并且可以用来显示整数、浮点数以及十六进制数等。

QLCDNumber的主要特点包括:

  1. 可以设置显示的数字位数,即控件的宽度。
  2. 可以设置显示的数字格式,如十进制、十六进制等。
  3. 支持自动调整显示的数字大小,以适应控件的大小。
  4. 可以设置显示的前缀和后缀文本。
  5. 可以设置不同的样式,如背景颜色、字体颜色等

2. 常用属性及说明

image.png

二、QLCDNumber的样式分类

1. Filled 样式

2. Outline 样式

3. Flat 样式

三、QLCDNumber的使用(代码示例)

1. 10秒倒计时

  1. 在界⾯上创建⼀个 QLCDNumber , 初始值设为 10.
//设置初始值
 ui->lcdNumber->display("10");

  1. 修改 widget.h 代码, 创建⼀个 QTimer 成员, 和⼀个 handle 函数
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void handle();
private:
    Ui::Widget *ui;
    QTimer* timer;

3.修改 widget.cpp, 在构造函数中初始化 QTimer

QTimer 表⽰定时器. 通过 start ⽅法启动定时器之后, 就会每隔⼀定周期, 触发⼀次QTimer::timeout 信号

使⽤ connect 把 QTimer::timeout 信号和 Widget::handle 连接起来, 意味着每次触发QTimer::timeout 都会执⾏ Widget::handle

    //创建一个QTimer实例
    timer=new QTimer(this);
    //把QTimer的timeout的信号和自己的槽函数进行链接
    connect(timer,&QTimer::timeout,this,&Widget::handle);
    //启动定时器,触发timeout的周期,单位是ms
    timer->start(1000);
  1. 修改 widget.cpp, 实现 handle 槽函数
  • 通过 intValue 获取到 QLCDNumber 内部的数值.
  • 如果 value 的值归 0 了, 就停⽌ QTimer ,也就不会触发 timeout 信号
void Widget::handle()
{

    //先拿到LCDNember中的数字
    int value=ui->lcdNumber->intValue();
    //qDebug()<<value;
    if(value<=0)
    {
        timer->stop();
        return ;
    }
    ui->lcdNumber->display(value - 1);
}

运行程序,就实现了倒计时

文件代码:

#ifndef WIDGET_H
#define WIDGET_H
#include <QTimer>
#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    void handle();

private:
    Ui::Widget *ui;
    QTimer* timer;
};
#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"

#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //设置初始值
    ui->lcdNumber->display("10");
    //创建一个QTimer实例
    timer=new QTimer(this);
    //把QTimer的timeout的信号和自己的槽函数进行链接
    connect(timer,&QTimer::timeout,this,&Widget::handle);
    //启动定时器,触发timeout的周期,单位是ms
    timer->start(1000);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handle()
{

    //先拿到LCDNember中的数字
    int value=ui->lcdNumber->intValue();
    //qDebug()<<value;
    if(value<=0)
    {
        timer->stop();
        return ;
    }
    ui->lcdNumber->display(value - 1);
}
目录
相关文章
|
3月前
Qt类结构分析
Qt类结构分析
64 3
|
2月前
|
Java
Java Number & Math 类详解
在 Java 中,`Number` 类和 `Math` 类是处理数字和数学运算的重要工具。
|
2月前
|
设计模式 前端开发 安全
Qt注册类对象单例与单类型区别
在进行开发时,应当根据具体的应用场景和需求来选择使用单例模式或是单类型。如果是全局服务或状态管理,可能需要单例模式;如果是为了使QML环境下的不同组件能够访问到同一个后端服务对象,则可能需要使用单类型。
40 2
|
3月前
|
前端开发 程序员 API
【Qt】控件介绍
【Qt】控件介绍
|
3月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
206 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
740 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
271 3
|
3月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
83 3
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
551 3
|
3月前
|
网络协议 Linux C++
【Qt】多种控件实现“hello world“
【Qt】多种控件实现“hello world“