Qt QLabel标签控件
文章目录
- 1 属性和方法
- 1.1 文本
- 1.2 对齐方式
- 1.3 换行
- 1.4 图像
- 2. 实例
- 2.1 布局
- 2.2 为标签添加背景色
- 2.3 为标签添加图片
- 2.4 代码实现
QLabeI是Qt中的标签类,通常用于显示提示性的文本,也可以显示图像
1 属性和方法
QLabel有很多属性,完整的可查看帮助文档,这里列出常用的属性和方法。
1.1 文本
可以获取和设置按钮上显示的文本
// 获取和设置显示的文本
QString text() const;
void setText(const QString &text);
该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改
1.2 对齐方式
用于设置标签中的内容在水平和垂直两个方向上的对齐方式,比如左对齐、右对齐、上对齐、下对齐、水平居中、垂直居中等。
// 获取和设置文本的对齐方式
Qt::Alignment alignment() const;
void setAlignment(Qt::Alignment);
其中,Qt:Alignment是一个宏,常用取值如下 :
Qt::AlignLeft(0x0001) 水平方向-左对齐Qt:AlignRight(0x0002)水平方向-右对齐Qt:AlignHCenter(0x0004)水平方向-居中对齐Qt::AlignTop(0x0020)垂直方向-上对齐Qt::AlignBottom(0x0040)垂直方向-下对齐Qt:AlignVCenter(0x0080)垂直方向-居中对齐Qt:AlignCenter(AlignVCenter丨AlignHCenter)垂直方向和水平方向-居中对齐
上面的每一个宏,都代表16进制中的一位,可以进行或(1)操作,来同时设置多个对齐方式。
该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改
1.3 换行
使能换行时,那么标签在缩放时,如果文字可以显示在下一行,就会自动换行
// 获取和设置文本是否允许换行
// 换行时:在 word-breaks处,不会讲一个完整的单词显示在两行
bool wordWrap() const; // 判断是否允许换行
void setWordWrap(bool on) // 设置是否允许换行
该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改
1.4 图像
可以获取和设置标签上显示的图像
// 获取和设置显示的图像
const QPixmap *pixmap() const;
void setPixmap(const QPixmap &pixmap);
该属性,既可以在Qt设计师右侧的属性窗口中修改,也可以在代码中动态地获取和修改
2. 实例
该实例演示,如何设置和获取标签文本,文本对齐方式,文本换行,以及显示图片

2.1 布局
在Ul设计师界面,拖拽对应的控件,修改显示的文字、控件的name,然后完成布局

2.2 为标签添加背景色
在标签右侧的属性窗口中,点击styleSheet属性右侧的"…",良即可打开如下窗口,可以设置标签的各种样式:

2.3 为标签添加图片
首先添加资源文件,并添加两个图标文件
然后在标签右侧的属性窗口中,点击pixmap属性右侧的小三角,选择“选择资源”,即可打开如下窗口,选择图片资源:

2.4 代码实现
// 在Widget.cpp 文件中void Widget::on_btnGetText_clicked() {QMessageBox::information(this, "标签演示", ui->lbTime->text());
}void Widget::on_btnSetText_clicked() {ui->lbTime->setText(QTime::currentTime().toString());
}void Widget::on_btnAlignLeft_clicked() {ui->lbAlign->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
}void Widget::on_btnAlignCenter_clicked() {ui->lbAlign->setAlignment(Qt::AlignCenter);
}void Widget::on_btnAlignRight_clicked() {ui->lbAlign->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
}void Widget::on_btnDisableWrap_clicked() {// 禁止换行ui->lbWrap->setWordWrap(false);
}void Widget::on_btnEnableWrap_clicked() {// 允许换行ui->lbWrap->setWordWrap(true);
}int index = 0;
void Widget::on_btnToggleImage_clicked() {QPixmap px;if (index == 0) {px.load(":/res/moosebear.ico");index++;} else {px.load(":/res/pig.ico");index = 0;}// 把图片显示到标签上ui->lbImage->setPixmap(px);// 不要缩放,保持图片的宽高比,不然会失真ui->lbImage->setScaledContents(false);// 居中显示图片ui->lbImage->setAlignment(Qt::AlignCenter);
}相关文章:
Qt QLabel标签控件
文章目录 1 属性和方法1.1 文本1.2 对齐方式1.3 换行1.4 图像 2. 实例2.1 布局2.2 为标签添加背景色2.3 为标签添加图片2.4 代码实现 QLabeI是Qt中的标签类,通常用于显示提示性的文本,也可以显示图像 1 属性和方法 QLabel有很多属性,完整的可…...
iOS14 Widget 小组件调研
桌面小组件是iOS14推出的一种新的桌面内容展现形式。 根据苹果的统计数据,“一般用户每天进入主屏幕的次数超过90次”,如果有一个我们应用的小组件在桌面,每天都有超过90次曝光在用户眼前的机会,这绝对是一个顶级的流量入口。 “…...
HarmonyOS的应用类型(FA vs Stage)
HarmonyOS目前提供两种应用模型 FA(Feature Ability)模型: HarmonyOS API 7开始支持的模型,已经不再主推。 Stage模型: HarmonyOS API 9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的…...
Jeecg创建表单页面步骤
1.在Online表单开发里面新建一个表单页面,可以修改数据库属性、页面属性、校验字段、外键、索引,新建完成之后然后同步数据库 2.选中该表,然后生成代码,可以先把代码放在桌面,然后将文件夹是包名称的文件复制到后端代…...
leetcode17 电话号码的字母组合
方法1 if-else方法 if-else方法的思路及其简单粗暴,如下图所示,以数字234为例,数字2所对应的字母是abc,数字3所对应的是def,数字4所对应的是ghi,最后所产生的结果就类似于我们中学所学过的树状图一样&…...
用html和css实现一个加载页面【究极简单】
要创建一个简单的加载页面,你可以使用 HTML 和 CSS 来设计。以下是一个基本的加载页面示例: HTML 文件 (index.html): <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"…...
Android-消息机制Handler
Handler的机制:Android 消息传递机制就是handler。在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现对UI的更新处理,最终实现异步消息的处理。多个线程并发更新UI的同时 保证线程安全。Handler只是一个入口&am…...
MySQL夯实之路-事务详解
事务四大特性 事务需要通过严格的acid测试。Acid表示原子性,一致性,隔离性,持久性。 原子性(atomicity) 事务是不可分割的最小单元,对于整个事务的操作,要么全部提交成功,要么全部…...
安泰电子前置微小信号放大器怎么用的
前置微小信号放大器是一种重要的电子设备,用于放大微弱的输入信号,提高系统的灵敏度。它在各种领域中都有广泛的应用,包括音频、通信、测量等。在这篇文章中,我们将详细介绍前置微小信号放大器的使用方法,以便更好地理…...
【深度学习每日小知识】Overfitting 过拟合
过拟合是机器学习(ML)中的常见问题,是指模型过于复杂,泛化能力较差的场景。当模型在有限数量的数据上进行训练,并且学习了特定于该特定数据集的模式,而不是适用于新的、看不见的数据的一般模式时࿰…...
嵌入式必备的WEB知识
写在前面 嵌入式要学习Wed前端吗?答案是要的,不需要深入学习,只需要简单了解即可。为什么要学习? 原因如下: 可以远程控制和管理设备:通过简单的Web知识,嵌入式系统可以建立Web界面,…...
Scipy 中级教程——信号处理
Python Scipy 中级教程:信号处理 Scipy 的信号处理模块提供了丰富的工具,用于处理和分析信号数据。在本篇博客中,我们将深入介绍 Scipy 中的信号处理功能,并通过实例演示如何应用这些工具。 1. 信号生成与可视化 首先ÿ…...
【排序篇2】选择排序、计数排序
目录 一、选择排序二、计数排序 一、选择排序 整体思想: 从数组中选出最小值和最大值放在起始位置,直到排序完成 具体步骤: 定义两个变量begin和end为下标,指向数组始末定义要找的最大值的下标为maxi,最小值的下标为…...
重生奇迹mu敏弓加点攻略
1. 选择正确的属性点分配 在重生奇迹mu游戏中敏弓的属性点分配非常重要。建议将主要属性点分配在敏捷和力量上这样可以提高敏弓的攻击力和闪避能力。适当加点在体力和魔力上可以提高敏弓的生存能力和技能释放次数。不要忘记适当加点在智力上可以提高敏弓的技能威力和命中率。 …...
用通俗易懂的方式讲解:一文讲透主流大语言模型的技术原理细节
大家好,今天的文章分享三个方面的内容: 1、比较 LLaMA、ChatGLM、Falcon 等大语言模型的细节:tokenizer、位置编码、Layer Normalization、激活函数等。 2、大语言模型的分布式训练技术:数据并行、张量模型并行、流水线并行、3D …...
通过IP地址识别风险用户
随着互联网的迅猛发展,网络安全成为企业和个人关注的焦点之一。识别和防范潜在的风险用户是维护网络安全的关键环节之一。IP数据云将探讨通过IP地址识别风险用户的方法和意义。 IP地址的基本概念:IP地址是互联网上设备的独特标识符,它分为IP…...
汇编和C语言转换
C语言和汇编语言之间有什么区别 C语言和汇编语言之间存在显著的区别,主要体现在以下几个方面: 抽象层次: 汇编语言:更接近硬件的低级语言,通常与特定的处理器或指令集紧密相关。它提供了对处理器指令的直接控制,允许程序员直接操作硬件资源,如寄存器、内存等。 C语言:…...
【IOS】惯性导航详解(包含角度、加速度、修正方式的api分析)
参考文献 iPhone的惯性导航,基于步态。https://www.docin.com/p-811792664.html Inertial Odometry on Handheld Smartphones: https://arxiv.org/pdf/1703.00154.pdf 惯性导航项目相关代码:https://github.com/topics/inertial-navigation-systems use…...
Self-Attention
前置知识:RNN,Attention机制 在一般任务的Encoder-Decoder框架中,输入Source和输出Target内容是不一样的,比如对于英-中机器翻译来说,Source是英文句子,Target是对应的翻译出的中文句子,Attent…...
网络协议与攻击模拟_04ICMP协议与ICMP重定向
ICMP协议是网络层协议, 利用ICMP协议可以实现网络中监听服务和拒绝服务,如 ICMP重定向的攻击。 一、ICMP基本概念 1、ICMP协议 ICMP是Internet控制报文协议,用于在IP主机、路由器之间传递控制消息,控制消息指网络通不通、主机是…...
多人对话录音整理神器:ClearerVoice-Studio语音分离功能详细教程
多人对话录音整理神器:ClearerVoice-Studio语音分离功能详细教程 1. 引言:告别混乱的多人录音 你是否经常需要整理会议录音、访谈记录或多人讨论内容?传统的录音文件往往混杂着多个人的声音,背景噪音干扰严重,整理起…...
TSL2561光传感器Arduino库原理与低功耗工程实践
1. TSL2561光强传感器Arduino库深度解析与工程实践1.1 传感器原理与硬件特性TSL2561是由TAOS(现为AMS)推出的高精度数字环境光传感器,采用CMOS工艺集成双通道光电二极管阵列,分别对可见光(VIS)和红外光&…...
解锁RePKG的7个实战维度:从资源提取到合规创作的完整指南
解锁RePKG的7个实战维度:从资源提取到合规创作的完整指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 一、问题象限:资源处理的真实困境叙事 1.1 独立游…...
【LE Audio】PACS精讲[2]: 服务层核心逻辑,玩转音频能力发布与交互
在上一篇的内容里【LE Audio】PACS精讲[1]: 吃透基础规则,解锁音频能力发布核心逻辑,我们吃透了PACS的基础规则,从一致性要求、协议兼容、GATT交互约定到术语体系,搭建起了PACS的知识地基。而PACS的服务层,正是这些基础规则落地的核心载体,是蓝牙音频设备作为服务器对外发…...
VSCode安装与应用
vscode官网:https://code.visualstudio.com/Download 点击下一步 注意:这里将创建桌面快捷和下面的1、2勾选,3取消掉(以便后续VSCode能右键快捷打开相关文件,3若不取消会将改变文件默认图标为VSCode,并且打…...
掺氢燃气轮机Simulink动态仿真模型探索
掺氢燃气轮机simulink动态仿真模型 1. 西门子5MW和260MW(v94.3a)模型设计点 2. 可选择加pid控制或开环动态仿真模型 3. 功率可以为输入也可以为输出,供选择 4. 掺氢气比例可以动态调节 5. 输出参数包括燃烧室出口温度,流量,动力涡轮出口温度&…...
避坑指南:用conda一键搞定gymnasium[box2d]安装(附常见错误解决方案)
Conda环境下的gymnasium[box2d]高效安装与疑难排解全攻略 强化学习实践者常会遇到一个令人头疼的问题:在Windows系统上安装gymnasium[box2d]时,总是遭遇各种编译错误和依赖问题。本文将带你彻底解决这个痛点,通过conda环境管理工具࿰…...
OpenClaw安全指南:Qwen3-32B本地化部署的权限管控策略
OpenClaw安全指南:Qwen3-32B本地化部署的权限管控策略 1. 为什么需要特别关注OpenClaw的安全问题 第一次在本地部署OpenClaw时,我被它强大的自动化能力震撼了——这个AI助手能像真人一样操作我的电脑,从文件管理到网页浏览无所不能。但当我…...
Win11环境实测:用C# EtherCAT库控制伺服电机,从TwinCAT配置到pcap抓包全流程避坑
Win11环境下的EtherCAT实战:C#控制伺服电机全流程解析 在工业自动化领域,EtherCAT凭借其高速、实时的特性已成为运动控制系统的首选协议之一。本文将带你深入Windows 11环境下使用C#开发EtherCAT主站的全过程,从TwinCAT配置到实际控制伺服电机…...
Mermaid图表绘制终极指南:用Markdown代码快速创建专业图表
Mermaid图表绘制终极指南:用Markdown代码快速创建专业图表 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器,支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和…...
