当前位置: 首页 > article >正文

Qt—QLabel 使用总结

参考链接:Qt—QLabel 使用总结

一、简述

QLabel(标签控件) 提供了一个文本或图像的显示,没有提供用户交互功能。

一个 QLabel 可以包含以下任意内容类型:
-纯文本:使用 setText() 设置一个 QString

  • 富文本:使用 setText() 设置一个富文本的 QString
  • 图像:使用 setPixmap() 设置一个图像
  • 动画:使用 setMovie() 设置一个动画
  • 数字:使用 setNum() 设置 int 或 double,并转换为纯文本
  • Nothing:空的纯文本,默认的,使用 clear() 设置

二、使用总结

显示

首先我们构造一个 QLabel 对象。通过调用 setText 可以为标签设置文本(Hello World),这时标签就可以正常显示出来了。为了显示更佳的效果,我们可以通过调用 setStyleSheet 来设置样式。

QLabel *pLabel = new QLabel(this);
pLabel->setText("Hello World");
pLabel->setStyleSheet("color: red");

对齐方式

默认的标签文本对齐方式为:左对齐、垂直居中,我们可以通过 setAlignment 来设置,包括:左、上、右、下、居中对齐,一般情况,我们会进行两两组合(水平方向、垂直方向)。

比如:居中对齐

pLabel->setAlignment(Qt::AlignCenter);

使用样式表来控制(水平居右、垂直居下):

setStyleSheet("qproperty-alignment: 'AlignBottom | AlignRight';");

缩进

设置 QLabel 的文本缩进:

pLabel->setIndent(4);

自动换行

如果文本过长,我们可以采用自动换行的方式来显示。

pLabel->setWordWrap(true);

注意:当使用英文的时候,如果写为类似形式 ”abcdefghijklmnopqrstuvwxyz” 则是不能换行的,why?因为中间没有空格,所以需要写为 ”abcde fghij klmno pqrst uvwxyz”。

设置行高

一般情况下,自动换行之后文本上下行会距离比较近,我们可以通过下面方式来设置行高。

pLabel->setWordWrap(true);
QString strText = QStringLiteral("一去二三里,烟村四五家。亭台六七座,八九十枝花。");
QString strHeightText = "<p style=\"line-height:%1%\">%2<p>";
strText = strHeightText.arg(150).arg(strText);
pLabel->setText(strText);

省略

如果过长,我们又不想换行,只想把其中一部分省略为…,那么我们可以通过 QFontMetrics 来实现,这里先不介绍 QFontMetrics,感兴趣的童鞋可以先自行研究。

QString strText 

http://www.kler.cn/a/414736.html

相关文章:

  • Android导出Excel
  • 【Linux】网络连接模式,VM:桥接、NAT、仅主机如何选择?
  • 社交新零售模式下“2+1 链动模式 S2B2C 商城小程序”的创新实践与发展策略
  • 【SPIE出版|四大高校联合举办】先进算法与图像处理技术国际学术会议(IC-AAIP 2025)
  • Vue构建错误解决:(error TS6133)xxx is declared but its value is never read.
  • 03-控制结构
  • 使用ENSP实现OSPF
  • 68000汇编实战01-编程基础
  • 如何分析Windows防火墙日志
  • Vue前端开发-动态插槽
  • net 站点安全 OwaspHeaders.Core
  • 抓包之查看websocket内容
  • 深入解析音视频流媒体SIP协议交互过程
  • 人工智能如何改变你的生活?
  • sd webui整合包怎么安装comfyui
  • 泷羽sec-shell脚本(1)脚本创建执行与变量使用 学习笔记
  • 【c++篇】:探索c++中的std::string类--掌握字符串处理的精髓
  • Linux 命令 whoami:揭秘当前用户身份
  • 派对灯 Party Lamps [USACO 2.2]
  • DVWA 在 Windows 环境下的部署指南
  • C++设计模式行为模式———状态模式
  • npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法
  • ASP.NET Core 入门
  • Linux:文件管理(二)——文件缓冲区
  • DVWA靶场——File Inclusion
  • Linux笔记--基于OCRmyPDF将扫描件PDF转换为可搜索的PDF