Qt扫盲-QLabel使用总结

news2024/11/15 11:12:43

QLabel使用总结

  • 一、QLabel 显示内容
  • 二、注意事项
    • 1. 格式注意
    • 2. 不保留先前状态
    • 3. 格式对齐
    • 4. 伙伴焦点
  • 三、信号和槽函数使用
    • 1. 信号
    • 2. 槽函数
  • 总结:

QLabel 其实就是一个用来只读显示的简易控件。适合数据量很小的内容显示。
QLabel用于显示 文本或图像不提供用户交互功能。QLabel的视觉外观可以通过多种方式进行配置,并且可用于为另一个小组件指定焦点助记键。如果涉及到很多内容的显示,比如多文本的话,就最好用 QTextEdit来弄,或者其他QTextBrower 之类的。

  • 像下面这种
    在这里插入图片描述

一、QLabel 显示内容

支持内容设置函数
Plain Text 纯文本通过 setText() 设置内容;用 text() 获取值
Rich Text 富文本通过 setText() 设置内容;通过 setTextFormat() 设置富文本格式
PixMap 图片通过 setPixmap() 设置图片
Movie 动画(gif格式)使用 setMovie() 设置动画
Number 数字(int、double)使用 setNumber() 自动把数字转换为字符串,有时候就可以不用自己转格式啦

二、注意事项

1. 格式注意

我们在使用 setText() 时, QLabel 会尝试猜测它是将文本显示为纯文本还是富文本(HTML 4 标记的子集)。但是效果不好,可能QLabel 的显示表现会和我们的想法不一致,所有我们最好显式调用 setTextFormat(),例如,如果您希望文本为纯格式可能就显示出 Web形式的数据。

2. 不保留先前状态

当使用任何这些功能更改内容时,将清除任何以前的内容。不会保留之前的状态的。清除内容使用 clear() 函数

3. 格式对齐

默认情况下,QLabel 会对 文本和图像 内容 左对齐、垂直居中显示,其中要显示的文本中的任何选项卡都会自动展开,我们也可以设置用 … 来表示放不下的内容。但是,QLabel的外观可以通过多种方式进行调整和微调。
内容在 QLabel 小部件区域中的位置可以使用 setAlignment() 和 setIndent() 进行调整。文本内容还可以使用 setWordWrap() 沿单词边界换行。例如,此代码设置一个下沉式效果,右下角有两行文本(两行都与标签右侧齐平):

QLabel *label = new QLabel(this);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->setText("first line\nsecond line");
label->setAlignment(Qt::AlignBottom | Qt::AlignRight);

因为 QLabel 继承至 QFrame,所以 QFrame 的边框效果QLabel都可以设置。

4. 伙伴焦点

QLabel通常用作交互式小部件的标签。为此,QLabel提供了一种有用的机制来添加助记符(参见QKeySequence),该助记符将键盘焦点设置为其他小部件(称为QLabel的“伙伴”)。例如:

QLineEdit *phoneEdit = new QLineEdit(this);
QLabel *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);

QLabel *eidtLabel = new QLabel("&Edit:", this);
QPushButton * editButton = new QPushButton("EditBtn");
eidtLabel->setBuddy(editButton);

在此示例中,当用户按 Alt+P 时,键盘焦点将转移到标签的 Buddy(QLineEdit)。如果 Buddy 是一个按钮(继承自 QAbstractButton),按了 Alt + E 就触发助记符将模拟按钮单击

  • 在设置 text 的时候 加上 & 就可以使用 Alt + text的首字母触发这些功能。

三、信号和槽函数使用

1. 信号

// 这个要设置为可以打开链接
label->setOpenExternalLinks(true);

// 当用户点击了这个QLabel上的链接 
void linkActivated(const QString &link)

//当鼠标了这个QLabel上的链接 
void linkHovered(const QString &link)

2. 槽函数

//清空内容
void clear()

//设置动画
void setMovie(QMovie *movie)

//设置数字
void setNum(double num)
void setNum(int num)

//设置图片
void setPicture(const QPicture &picture)
void setPixmap(const QPixmap &)

//设置内容
void setText(const QString &)

总结:

QLabel 其实就是一个用来只读显示的简易控件。适合数据量很小的内容显示。
QLabel用于显示 文本或图像不提供用户交互功能。QLabel的视觉外观可以通过多种方式进行配置,并且可用于为另一个小组件指定焦点助记键。如果涉及到很多内容的显示,比如多文本的话,就最好用 QTextEdit来弄,或者其他QTextBrower 之类的。

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

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

相关文章

深度学习之目标检测通用技巧

深度学习之目标检测通用技巧深度学习之目标检测通用技巧深度学习之目标检测通用技巧 一 数据增强 1.离线增强 离线增强:对数据集进行处理,数据的数目会变成增强因子原数据集的数目 2.在线增强 对输入模型的batch的数据进行增强,如旋转、平移、翻折等…

今天给大家介绍一篇基于SSM的教材管理系統的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

【Tensorflow学习三】神经网络搭建八股“六步法”编写手写数字识别训练模型

神经网络搭建八股“六步法”编写手写数字识别训练模型Sequential用法model.compile(optimizer优化器,loss损失函数,metrics["准确率"])model.fitmodel.summery六步法搭建鸢尾花分类网络class搭建具有非顺序网络结构MNIST数据集Fashion MNIST数据集用Tensorflow API:t…

java计算机毕业设计基于安卓Android的掌上酒店预订APP

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把掌上酒店预订与现在网络相结合,利用java技术建设掌上酒店预订APP,实现掌上酒店预订的信息化。则对于进一步提高掌上酒店预订发展,丰富掌上酒店预订经验能起到不少的促进作用。 掌上酒店预订APP能够通过互联网得到广泛的…

基于风能转换系统的非线性优化跟踪控制(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

一、CDD在诊断开发中的作用

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CDD在诊断开发中的作用,欢迎各位朋友订阅、评论,可以提…

如何评价模型的好坏?

回归: MSE(均方误差)—— 判定方法:值越小越好(真实值-预测值,平方之后求和平均)RMSE(均根方误差)—— 判定方法:值越小越好(MSE开根号&#xff…

Dijkstra最短路径算法

参考:(3条消息) Dijkstra算法图文详解_一叶执念的博客-CSDN博客_迪杰斯特拉算法 如图,假设图中共有n条路径(如D-C-E),根据路径长度进行小到大排序。 1、起点到达某终点的距离是无穷符号,表示该起点还需要借…

27岁到来之际,我在阿里实现了年薪40W+的小目标

顺着大佬的思路,我分析了自己的实际水平和状况: 1、技术不精不成体系:技术能力浮于表面,对底层逻辑和架构不了解,也不知道如何系统化进行学习; 2、遇到职场瓶颈期:站在3年职场的分水岭上,没有…

Linux网络原理及编程(8)——第十八节 数据链路层

目录 1、MAC地址 2、MAC帧 3、MAC帧协议 4、MTU 5、ARP请求和应答 各位好,博主新建了个公众号《自学编程村》,拉到底部即可看到,有情趣可以关注看看哈哈,关注后还可以加博主wx呦~~~(公众号拉到底部就能看到呦~~&a…

基于java+springmvc+mybatis+jsp+mysql的新冠肺炎疫苗接种管理系统

项目介绍 新冠疫苗接种管理系统,在网站首页可以查看首页,疫苗信息,疫苗资讯 ,个人中心,后台管理,在线客服等内容,并进行详细操作。管理员登录进入系统可以查看首页,个人中心&#x…

vue自定义keepalive组件的问题解析

前一阵来了一个新的需求,要在vue项目中实现一个多开tab页面的功能,本来心想,这不简单嘛就是一个增加按钮重定向吗?(当然如果这么简单我就不写这个文章了)。很快写完,提交测试。测试大哥很快就提…

一份奇奇怪怪的地图设计书

地图设计书 地图设计是通过研究实验制定新编地图的内容、表现形式及其生产工艺程序的工作,是地图制图学各种活动的中心,贯穿整个地图制图过程。本设计选择了福建省龙岩市作为研究区域,并结合相应区域的土地利用类型、水系、道路等数据&#…

儿童剧本杀行业是好生意吗?剧本杀门店管理系统

红楼梦、西游记、水浒传、三国演义是中国四大名著,几乎每个中国人上到70岁老人,下到十岁小学生都知道,同时还有花木兰、包青天、八仙过海等故事也都耳濡目染,小说描述的淋漓尽致,影视剧老戏骨们将每个角色刻画的深入人…

spring-aop源码分析(3)完结_执行流程分析

本文详细介绍Spring AOP的执行阶段流程。 Cglib代理的代理拦截逻辑在DynamicAdvisedInterceptor中,JDK代理的拦截逻辑在JdkDynamicAopProxy中,本文将从这两个类入手分析Spring AOP的执行阶段流程。 DynamicAdvisedInterceptor private static class D…

Modbus数据采集方案

目录 目标 Modbus协议简介 配置界面以及实例 概述 modbus协议应该是工业行业应用最广泛的协议,由于其协议简单、通讯标准、扩展性强的特点,被各个行业大量的应用。作为通讯网关机来说,设计一个便捷易懂的配置方式显得尤其重要。本方案基于…

多模态中的指令控制(InstructPix2Pix,SayCan)

InstructPix2Pix: Learning to Follow Image Editing Instructions 图像的语言指令生成。目的是遵循人工指令去编辑图像,即给定输入图像和一个如何编辑它的文本指令,模型尝试遵循这些指令来编辑图像。 这份论文与现有基于文本的图像编辑工作们最大的不同…

【JVM】方法区与永久代、元空间之间的关系

方法区与永久代、元空间之间的关系 方法区是JVM规范中定义的一块内存区域,用来存储类元数据、方法字节码、即时编译器需要的信息等 永久代是Hotspot虚拟机对JVM规范的实现(1.8之前) 元空间是Hotspot虚拟机对JVM规范的实现(1.8以后),使用本地…

java基于springboot高校学报论文在线投稿系统-计算机毕业设计

项目介绍 在新发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,高校只能以工作人员为导向,以稿件的持续创新作为高校最重要的竞争手段。 系统采用了J…

Java AQS

AQS 是什么 AQS 的全称为 AbstractQueuedSynchronizer,翻译过来的意思就是抽象队列同步器,这个类在 java.util.concurrent.locks 包下面Java 中的大部分同步类(Lock、Semaphore、ReentrantLock等) 都是基于 AQS 实现的AQS 是一种提供了原子式管理同步状…