【Qt】QLabel常用属性相关API

QLabel是Qt框架中用于显示文本或图案的小部件。在Qt应用程序中,QLabel是用来呈现静态文本或图像给用户的重要部分

QLabel属性陈列 

属性说明
textQLabel中的文本内容
textFormat

文本的格式

  • Qt::PlainText  纯文本
  • Qt::RichText   富文本
  • Qt::MarkdownText   markdown格式
  • Qt::AutoText   根据文本内容自动决定文本格式
pixmapQLabel内部包含的图片
scaledContents

自动拉伸填充

设置为true会将内容自动拉伸填充QLabel,false则不会。

常搭配pixmap使用

alignment

对齐方式

可以设置水平和垂直方向如何对齐

wordWrap

自动换行

设置为true时,当文本超出QLabel表示范围,会自动换行

indent设置文本缩进,水平和垂直方向都生效
margin

内部文本和边框之间的边距

openExternalLinks是否允许打开一个外部的链接(当文本内容包含url时涉及)
buddy给QLabel关联一个"伙伴"

目录

一. textFormat——文本格式

二.  scaledContents——自动填充

补充

三. alignment——文本对齐

四. buddy——伙伴


一. textFormat——文本格式

API说明
setTextFormat(Qt::TextFormat)给QLabel设置文本格式

Qt::TextFormat是Qt提供的一个枚举类型

enum TextFormat {PlainText,//普通文本RichText,//富文本,支持html标签AutoText,//根据文本内容推导文本格式MarkdownText//markdown格式文本};

 示例:

    //设置文本格式ui->label->setTextFormat(Qt::PlainText);//纯文本ui->label_2->setTextFormat(Qt::RichText);//富文本,支持html标签ui->label_3->setTextFormat(Qt::MarkdownText);//markdown文本//设置文本内容ui->label->setText("<b>**普通文本**</b>");ui->label_2->setText("<b>富文本</b>");ui->label_3->setText("<font color=#FF0000>markdown文本</font>");

二.  scaledContents——自动填充

API说明
setPixmap(const QPixmap&)设置QLabel的内容为一个图片
setScaledContents(bool)设置自动填充状态

示例:

使用qrc文件,管理使用的图片,qrc文件的使用参看:【Qt】QWidget属性&相关API 的qrc文件

    //将label设置和QWidget一样大QRect rect = this->geometry();//获取QWidget的大小属性ui->label->setGeometry(rect);//设置图片QPixmap pixmap(":/6.jpg");ui->label->setPixmap(pixmap);//设置图片自动填空ui->label->setScaledContents(true);

补充

如果拖拉窗口,会使QWidget的大小改变,但QLabel并不会随着QWidget大小改变而改变,就会出现如下情况

此时,可以借助重写父类的虚函数resizeEvent方法,实现实时更新QLabel大小

API说明
resizeEvent(QResizeEvent *event)

当QWidget大小改变时,会回调这个方法

可以通过子类重写该虚函数时,完成需求

//当窗口大小改变时Qt会回调这个函数
void Widget::resizeEvent(QResizeEvent *event)
{//QWidget大小改变,实时更新QLabel大小和QWidget大小相同ui->label->setGeometry(0, 0, event->size().width(), event->size().height());
}

三. alignment——文本对齐

API说明
setAlignment(Qt::Alignment)设置文本对齐方式
enum AlignmentFlag {AlignLeft = 0x0001,//左对齐AlignLeading = AlignLeft,AlignRight = 0x0002,//右对齐AlignTrailing = AlignRight,AlignHCenter = 0x0004,//水平居中AlignJustify = 0x0008,//两端对齐AlignAbsolute = 0x0010,AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute,AlignTop = 0x0020,//顶端对齐AlignBottom = 0x0040,//底端对齐AlignVCenter = 0x0080,//垂直居中AlignBaseline = 0x0100,AlignCenter = AlignVCenter | AlignHCenter//中心对齐};

补充:

QFrame是QLabel的父类,其中frameShape属性用来设置边框性质

枚举类型说明
QFrame::Box矩形边框
QFrame::Panel带有可点击区域的面板边框
QFrame::WinPanelWindows风格的边框
QFrame::HLine水平线边框
QFrame::VLine垂直线边框
QFrame::StyledPanel带有可点击区域的面板边框,但样式取决于窗口主题

四. buddy——伙伴

QLabel的伙伴是快捷键的一种使用方式,通常和按钮组合使用

API说明
setBuddy(QWidget*)设置参数控件和QLabel的伙伴关系

示例:

两个QRadioButton,两个QLabel,文本如下

设置伙伴关系

    //绑定QLabel 和 QRadioButton的伙伴关系ui->label->setBuddy(ui->radioButton);ui->label_2->setBuddy(ui->radioButton_2);

 此处,QLabel中的文本为“快捷键&C” 这样的形式

其中 & 后跟着的字符,就是快捷键

可以通过 alt + c的方式来触发该快捷键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

管理和监控 Oracle 数据库中的会话和进程,以及终止特定的会话

select username,count(username) from v$session where username is not null group by username;• 作用: 统计每个用户的当前会话数量。 • 介绍: 从 v$session 视图中选择 username 和 username 的计数&#xff0c;并对不为空的 username 进行分组。 SELECT sid, serial#,…

IntelliJIDEA------简介

IntelliJ IDEA 14是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一&#xff0c;尤其在智能代码助手、代码自动提示、重构、J2EE支 持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。 IntelliJ IDEA特色功能 IDEA所提倡的…

【数据结构】排序算法(冒泡排序、插入排序、希尔排序、选择排序、堆排序、计数排序)

生命不可能有两次&#xff0c;但许多人连一次也不善于度过。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;排序的概念和应用 • &#x1f330;1.排序及其概念 • &#x1f330;2.排序的应用 • &#x1f330;3.常见的排序算…

php 箭头函数详解

PHP 的箭头函数&#xff08;也称为匿名函数或闭包函数&#xff09;是一种简洁的定义单表达式函数的方法。这种语法是从 PHP 7.4 版本开始引入的&#xff0c;它使得创建简短的一次性使用的函数变得更加方便。 基本语法 箭头函数的基本语法如下&#xff1a; fn($parameters) &…

qt做的分页控件

介绍 qt做的分页控件 如何使用 创建 Pagination必须基于一个QWidget创建&#xff0c;否则会引发错误。 Pagination* pa new Pagination(QWidget*);设置总页数 Pagination需要设置一个总的页数&#xff0c;来初始化页码。 pa->SetTotalItem(count);设置可选的每页数量…

前端养成记-实现一个低配版简单版本的vue3表单自定义设计组件

简介&#xff1a; 通过使用了最新的vue3,vite2,TypeScript等主流技术开发&#xff0c;并配合使用vuedraggable 插件以及antd design vue 组件库实现低配版本的自定义表单设计组件&#xff1b; 项目地址&#xff1a;https://gitee.com/hejunqing/vue3-antdv-generator

PyTorch模型训练步步详解:从零开始构建深度学习流程

P y T o r c h 训练模型流程图 PyTorch训练模型流程图 P y T orc h 训练模型流程图

Python面试宝典第20题:精选问答题

题目1 解释Python中的GIL是什么&#xff0c;它是如何影响多线程程序的&#xff1f; 题目2 Python中的装饰器是什么&#xff0c;如何定义和使用一个装饰器&#xff1f; 题目3 Python中的迭代器和生成器有什么区别&#xff0c;并提供一个使用生成器的例子。 题目4 谈一谈你对Pyth…

非凸T0算法,如何获取超额收益?

什么是非凸 T0 算法&#xff1f; 非凸 T0 算法基于投资者持有的股票持仓&#xff0c;利用机器学习等技术&#xff0c;短周期预测&#xff0c;全自动操作&#xff0c;抓取行情波动价差&#xff0c;增厚产品收益。通过开仓金额限制、持仓时长控制等&#xff0c;把控盈亏风险&…

学习笔记:MySQL数据库操作5

1. 触发器&#xff08;Triggers&#xff09; 触发器是数据库的一种高级功能&#xff0c;它允许在执行特定数据库操作&#xff08;如INSERT、UPDATE、DELETE&#xff09;之前或之后自动执行一段代码。 1.1 创建商品和订单表 商品表&#xff08;goods&#xff09; gid: 商品编号…

会话存储、本地存储,路由导航守卫、web会话跟踪、JWT生成token、axios请求拦截、响应拦截

1、会话存储、本地存储 前端浏览器中存储用户信息&#xff0c;会话存储、本地存储、cookie 会话存储&#xff08;sessionStorage&#xff09;&#xff1a;会话期间存储&#xff0c;关闭浏览器后&#xff0c;数据就会销毁 sessionStorage.setItem("account",resp.d…

反射型与dom型的xss的区别【源码分析】

反射型 XSS 和 DOM 型 XSS 都属于跨站脚本攻击 (XSS) 的类型&#xff0c;它们的共同点是均能通过注入恶意脚本在用户浏览器中执行&#xff0c;不同点是dom型xss不经过服务器&#xff0c;而反射型是经过服务器的。但是&#xff0c;它们在攻击方式、执行过程和防御措施上有所不同…

flask后端+vue前端——后端怎么发文件给前端?

首先&#xff0c;前端axios请求的responseType要设置为blob const service axios.create({baseURL: http://127.0.0.1/api,timeout: 5000});//向后端发送数据&#xff0c;后端根据这个数据data生成文件返回send_coordinate(data){return service.post(/,data,{responseType: …

c++栈笔记

一种常见的数据结构&#xff0c;遵循后进先出&#xff0c;先进后出的原则。地址不连续&#xff0c;栈顶&#xff08;top&#xff09; 1.常见函数 stack<int> s;定义一个参数类型为int 的栈 名为ss.push()向栈中插入元素s.emplace()压栈&#xff0c;无返回值s.pop()删除…

@SpingFrameWork

SpingFrameWork 一、技术体系结构 单一架构&#xff0c;一个大的项目&#xff0c;一个工程&#xff0c;导出war包在一个tomcat上运行&#xff08;主要用spring、springMVC、Mybatis&#xff09;分布式架构&#xff0c;一个项目&#xff0c;但是有多个模块&#xff0c;但是每个…

摆脱想得太多做得太少的困境,拥抱财富与成功

在生活的舞台上,我们常常目睹这样的场景:有些人怀揣着美好的梦想和周全的计划,却始终未能迈出实质性的步伐,最终被困顿的现状所束缚。就如同那位卖豆腐的人,每日在夜里为自己编织着绚烂的未来蓝图,却在黎明来临时,依旧重复着昨日卖豆腐的生活,一辈子在原地徘徊,无法挣…

Servlet2-HTTP协议、HttpServletRequest类、HttpServletResponse类

目录 HTTP协议 什么是HTTP协议 HTTP协议的特点 请求的HTTP协议格式 GET请求 POST请求 常用的请求头说明 哪些是GET请求&#xff0c;哪些是POST请求 响应的HTTP协议格式 常见的响应码说明 MIME类型说明 HttpServletRequest类 作用 常用方法 如何获取请求参数 po…

IP 泄露: 原因与避免方法

始终关注您的IP信息&#xff01; 您的IP地址不仅显示您的位置&#xff0c;它包含几乎所有的互联网活动信息&#xff01; 如果出现IP泄漏&#xff0c;几乎所有的信息都会被捕获甚至非法利用&#xff01; 那么&#xff0c;网站究竟如何追踪您的IP地址&#xff1f;您又如何有效…

Layui---输入事件

输入实时监听 //监听表单单选框复选框选择 form.on(radio, function (data) {console.log(data.value); //得到被选中的值 });//监听表单下拉菜单选择form.on(select, function (data) //监听表单下拉菜单选择form.on(select, function (data) ​ //监听表单复选框选择form.…

从0开始的STM32HAL库学习9

定时器输入捕获测频率 生成待测信号 配置环境 选择如上图所示 代码修改 在main函数中加入 HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); 测量信号频率 配置环境 如图所示打开TIM3定时器 1. 设置TI1FP1为ResetMode,即清空计数 2. 使用内部时钟 3. 通道 1 设置为输…