【Qt菜鸟笔记】QLCDNumber控件

1.QLCDNumber控件简介(Qt6.5.3版)

QLCDNumber控件显示带有类似 LCD 数字的数字。它可以显示十进制、十六进制、八进制或二进制数。

头文件引入 #include<QLCDNumber>
CMake配置: find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets
qmake配置 QT += widgets
继承于 QFrame控件

2.QLCDNumber基本使用(Qt6.5.3版-Mingw)

2.1使用纯代码写法


main.cpp文件

C++ 复制代码
#include <QApplication>
#include <QWidget>
#include <QLCDNumber>                         
#include <QVBoxLayout>
#include <QLabel>
#include <QFormLayout>

// 创建并配置QLCDNumber控件的函数
QLCDNumber* createLCDNumber(int digits, const QString &value, QLCDNumber::SegmentStyle style, QSize maxSize, const QString &stylesheet) {
    QLCDNumber *lcd = new QLCDNumber();
    lcd->setDigitCount(digits); // 设置显示的数字位数
    lcd->display(value);        // 设置显示值
    lcd->setSegmentStyle(style); // 设置显示样式
    lcd->setMaximumSize(maxSize); // 设置最大尺寸
    lcd->setStyleSheet(stylesheet); // 设置样式表
    return lcd;
}

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QWidget window;
    window.setWindowTitle("QLCDNumber Example");
    window.setMinimumSize(800, 600);

    // 使用封装的函数创建不同样式的QLCDNumber控件
    QLCDNumber *lcdFlat = createLCDNumber(8, "11.111", QLCDNumber::Flat, QSize(200, 80),
                                          "QLCDNumber { background-color: black; color: green; }");

    QLCDNumber *lcdFilled = createLCDNumber(6, "22.22", QLCDNumber::Filled, QSize(200, 80),
                                            "QLCDNumber { background-color: black; color: green; }");

    QLCDNumber *lcdOutline = createLCDNumber(6, "33.33", QLCDNumber::Outline, QSize(200, 80),
                                             "QLCDNumber { background-color: black; color: green; }");
    QLCDNumber *lcdFont = createLCDNumber(12, "44.4444", QLCDNumber::Flat, QSize(150, 80),
                                             "QLCDNumber { background-color: black; color: green; }");

    // 创建布局并将控件添加到窗口中
    QVBoxLayout *layout = new QVBoxLayout(&window);
    QFormLayout *formLayout = new QFormLayout();
    formLayout->addRow("Flat平面形式显示:", lcdFlat);
    formLayout->addRow("Filled填充形式显示,qss样式不起效果:", lcdFilled);
    formLayout->addRow("Outline平面形式显示,qss样式不起效果:", lcdOutline);
     formLayout->addRow("lcd的字体大小受控件尺寸和显示位数影响,qss样式不起效果:", lcdFont);

    layout->addLayout(formLayout);
    window.setLayout(layout);

    window.show();
    return app.exec();
}

2.2 使用designerUI进行设计

相关推荐
ClouGence1 分钟前
MongoDB 双向同步如何防止数据循环?(附实操指南)
数据库·mongodb
東隅已逝,桑榆非晚4 分钟前
算法3.双指针法-快乐数
c++·笔记·学习·算法
TDengine (老段)14 分钟前
TDengine IDMP 十大实用功能(7)
数据库·物联网·时序数据库·tdengine·涛思数据·工业数据·idmp
Decay__15 分钟前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
欢欢李26 分钟前
【LTE L3 笔记 01】LTE空口特点
笔记·无线通信·物理层·lte·空口协议
zjx238829 分钟前
oracle11g转Gbase8s库SQL常见问题修改
数据库·sql
lhbweilai34 分钟前
QT项目(串口助手)
开发语言·qt
真上帝的左手36 分钟前
30. 技术专题-‌应用框架组件-缓存-Redis
数据库·redis·分布式·缓存·中间件
雪芽蓝域zzs39 分钟前
第 2 章:整合 MySQL + MyBatis,搭建数据库基础、实体类、Mapper、测试查询
数据库·mysql·mybatis
实泽有之,无泽虚之1 小时前
SQL Server数据库备份与还原详解
数据库·sqlserver