QLable 类使用教程

news2025/4/19 10:54:04

文章目录

  • 1、简介
  • 2 、公共类型
  • 3、属性
  • 4、functions
    • 4.1、访问属性相关 function
    • 4.2、公共槽
    • 4.3、Signal
    • 4.4、其他方法
  • QLabel 内容长度超过控件本身长度时处理
    • 1、QLabel 内容长度超过控件本身长度时超出的部分用省略号
    • 2、QLabel 内容长度超过控件本身长度时使用定时器滑动显示文本

QT 官方文档参考地址:https://doc.qt.io/qt-5/qlabel.html

1、简介

QLabel用于显示文本或图像。不提供用户交互功能。

2 、公共类型

1、 enum Qt::AlignmentFlag
此枚举类型用于描述对齐。它包含水平和垂直标志,这些标志可以组合起来产生所需的效果

  • 水平对齐

    • Qt::AlignLeft与左边缘对齐
    • Qt::AlignRight与右边缘对齐
    • Qt::AlignHCenter水平居中
    • Qt::AlignJustifyJustifies the text in the available space.
  • 垂直对齐

    • Qt::AlignTop 顶部对齐
    • Qt::AlignBottom 底部对齐
    • Qt::AlignVCenter 垂直居中
    • Qt::AlignBaselineAligns with the baseline.

3、属性

1、text(类型:QString

这个属性保存标签的文本
如果没有设置文本,这将返回一个空字符串。设置文本将清除以前的任何内容。
根据文本格式设置,文本将被解释为纯文本或富文本;看到setTextFormat()。
默认设置为Qt::AutoText;即QLabel将尝试自动检测文本集的格式。
有关富文本的定义,请参阅支持的HTML子集。
注意,QLabel非常适合显示小的富文本文档,
比如从标签的调色板和字体属性中获取文档特定设置(字体、文本颜色、链接颜色)的小文档。
对于大型文档,使用只读模式的QTextEdit。QTextEdit还可以在必要时提供滚动条。

2、wordWrap(类型:bool

此属性保存标签的换行策略
如果此属性为true,则在必要的换行处换行标签文本;否则,它不会换行。
缺省情况下,禁用自动换行。

3、font(类型:QFont

此属性保存当前为小部件设置的字体

4、width(类型:const int

此属性保存小部件的宽度

5、alignment(类型:Qt::Alignment

此属性保存标签内容的对齐方式
默认情况下,标签的内容是左对齐和垂直居中的

4、functions

4.1、访问属性相关 function

1、QString text() const

获取标签中的文本

2、void setText(const QString &)

设置标签中的文本

3、bool wordWrap() const

获取标签的换行策略

4、void setWordWrap(bool on)

设置标签的换行策略
在这里插入图片描述

5、const QFont & font() const

获取小部件设置的字体

6、void setFont(const QFont &)

设置小部件设置的字体

7、int width() const

获取小部件的宽度

8、Qt::Alignment alignment() const

获取标签内容的对齐方式

9、void setAlignment(Qt::Alignment)

设置标签内容的对齐方式

4.2、公共槽

1、void clear()

清空标签中的文本内容

4.3、Signal

4.4、其他方法

1、void clear()

清空标签中的文本内容

QLabel 内容长度超过控件本身长度时处理

1、QLabel 内容长度超过控件本身长度时超出的部分用省略号

QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const

如果字符串文本的宽度大于width,则返回字符串的省略版本(即包含"…"的字符串)。否则,返回原始字符串。

from PyQt5.QtCore import Qt


label = QLabel("账号: ", parent: QWidget) # 实例化一个 label 对象
nameStr = "这是一个很长的文本--------"

"""QFontMetrics 类计算给定字体的字符或字符串的大小。"""
fm = QFontMetrics(label.font())  # 实例化一个 QFontMetrics 对象
if (fm.width(nameStr) > label.width()):
	nameStr = fm.elidedText(nameStr, Qt.ElideRight, label.width())
ui.musicDisplay.setText(nameStr) # 显示当前播放曲目

2、QLabel 内容长度超过控件本身长度时使用定时器滑动显示文本

from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import *


self.label = QLabel("账号: ", parent: QWidget) # 实例化一个 label 对象
nameStr = "这是一个很长的文本--------"
self.label.setText(nameStr )

timer = QTimer() # 实例化一个定时器对象来滚动当前播放的歌曲名
timer.start(100)  # 设置滚动速度,单位为毫秒
timer.timeout.connect(MusicNameRollDisplay) # 为超时信号绑定槽函数

def MusicNameRollDisplay(self):
    current_text = self.label.text()
    scroll_text = current_text[1:] + current_text[0]
    self.label.setText(scroll_text)

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

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

相关文章

【T3】畅捷通T3备份账套提示:超时已过期,错误‘53‘文件不存在。

【问题描述】 针对畅捷通T3软件,进行账套备份(账套输出)的时候, 先是提示”超时已过期“; 点击确定后,再次提示:运行时错误53,文件未找到。 最终导致账套备份/输出失败。 【解决…

Pd虚拟机Parallels Desktop 19.1.0

Parallels Desktop是一款功能强大的虚拟机软件,它允许用户在Mac电脑上同时运行Windows、Linux和其他操作系统。Parallels Desktop提供了直观易用的界面,使用户可以轻松创建、配置和管理虚拟机。 该软件具有快速启动和关闭虚拟机的能力,让用户…

HFSS笔记——优化设计optimetrics

HFSS的优化设计可以分成4步走: 使用参数扫描确定合理区间 → 确定优化变量 → 构造目标函数→ 确定优化算法 1、变量分为两种,一种较工程变量,一种叫设计变量。 在一个project下可以同时存在多个design,在project下设置的变量叫…

云计算技术的新发展:公有云、私有云还是混合云的未来?

在当今数字化时代,云计算技术已经成为企业和组织不可或缺的工具。在众多的云计算服务模式中,公有云、私有云和混合云备受关注。这些服务模式各具特点,分别适用于不同的应用场景和需求,为企业的信息化建设带来了无限的可能性。 一…

Ubuntu18.04如何安装搜狗、网易云音乐、百度网盘、金山WPS、谷歌浏览器、微信、Maven、Pycharm、Anaconda、MySQL8.0等软件

目录 1.搜狗输入法 下载 安装 卸载 2.网易云音乐 下载 安装 3.百度网盘 下载 安装 4.金山WPS 下载 安装 5.谷歌浏览器 下载 安装 6.微信 下载安装 7.Maven 下载 安装 配置镜像源 8.Pycharm 下载 安装 9.Anaconda 下载 安装 卸载 10.MySQL8.0 下载…

Linux下的IMX6ULL——开发板基本操作(二)

目录: 前面我们已经配置好了环境,下载好了软件,下面让我们对我们使用的开发板有给简单的了解吧,IMX6ULL Pro开发板基本操作是必不可少的一大环节,下面让我们从它的硬件资源,软件资源等一系列开发板的基础操…

一键闪测仪的基本概述和应用全面解析

闪测仪是一种采用新型图像影像测量技术的精密测量仪器,主要是为满足用户快速测量的需要而开发的。它能一键测量二维平面尺寸,或配备光学非接触式测量头,实现高度尺寸、平面度等参数的精密快速测量。在工业制造领域,它通过对目标物…

进程 概念和理解 - Linux 是怎么做到 管理进程的?-fork 手动创建进程

前言 上一篇博客当中,对 冯诺依曼体系结构 和 操作系统 进行了简要概述,本篇博客将会从上一篇博客的基础之上进行展开,如果你有些不了解的话,建议先看上一篇博客再看本篇博客: 冯诺依曼体结构 - 为什么要有操作系统-…

ResNet论文精读,代码实现与拓展知识

文章目录 ResNet 论文精读代码实现网络可视化代码 拓展知识 ResNets残差的调参残差链接的渊源残差链接有效性的解释ResNet 深度ResNeXt代码实现 能够提点的技巧「Warmup」「Label-smoothing」「Random image cropping and patching」「Knowledge Distiallation」「Cutout」「Ra…

学习如何在linux服务器上修改默认端口22

学习如何在linux服务器上修改默认端口22 修改默认的22端口号重启ssh服务测试连接 修改默认的22端口号 [rootqipa250 ssh]# vim /etc/ssh/sshd_config 知道Port,改为自己想要的端口号 重启ssh服务 [rootqipa250 ssh]# systemctl restart sshd.service测试连接 阿…

Netty使用和常用组件

简述 netty 版本 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId<version>4.1.42.Final </version><scope>compile</scope> </dependency>Netty5 已经停止开发了。 netty 优势 API …

SQL注入专项整理(持续更新中)

深入了解SQL注入 什么是SQL注入&#xff1f; SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严&#xff0c;攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句&#xff0c;在管理员不知情的情况下实现非法操作&#xff0c;以此来实现…

【LeetCode:1155. 掷骰子等于目标和的方法数 | 递归->缓存->dp】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

查网站域名历史,查域名有没有灰记录,查域名有多少外链的好工具

作为一位建站达人&#xff0c;我一直在寻找高效的网络查询和管理工具。桔子是我近期发现的两款非常实用的浏览器和网站排名查询工具。它们不仅可以帮助我更好地了解域名的外链情况&#xff0c;还支持建立米表和进行网站排名查询。下面&#xff0c;我将详细介绍如何使用这款工具…

【clickhouse】一个性能问题,把一个中间件从头到位翻了个遍

现象 团队在前期引入了clickhouse&#xff0c;业务上端口进行审计&#xff0c;每天的数据量很大&#xff0c;测试小伙伴在测试的时候&#xff0c;使用pcap回放&#xff0c;将千兆带宽几乎跑满&#xff0c;出现每天大概一亿的数据量&#xff0c;导致界面实时查询很慢&#xff0…

分享42个ASP.NET源码总有一个是你想要的

分享42个ASP.NET源码总有一个是你想要的 链接&#xff1a;https://pan.baidu.com/s/1pLbe0hci2PX3IjtxGTDhMw?pwd8888 提取码&#xff1a;8888 项目名称 Asp.Net Core Api项目集成Azure AD实现认证授权 ASP.NET Core 帖子项目 asp.net core 微服务项目 ASP.NET Core 项目…

Spring Security认证源码解析(示意图)

建议先看完Spring Security总体架构介绍和Spring Security认证架构介绍&#xff0c;然后从FilterChainProxy的doFilterInternal函数开始&#xff0c;配合文章进行debug以理解Spring Security认证源码的执行流程。 在之前的Spring Security认证架构介绍中&#xff0c;我们已经知…

C算法:不使用第三变量,实现两数交换

写一个函数实现两数交换&#xff0c;要求不使用第三个变量。 输入样例&#xff1a; 14 16 输出样例&#xff1a; 16 14 代码实现&#xff1a; #include<stdio.h>int main() {int a,b;printf("please input two num:\n"); scanf("%d%d",&…

C# 使用waveIn实现声音采集

文章目录 前言一、需要的对象及方法二、整体流程三、关键实现1、使用Thread开启线程2、TaskCompletionSource实现异步3、将指针封装为Stream 四、完整代码1.接口2.具体实现 五、使用示例方式一方式二 总结 前言 之前实现了《C 使用waveIn实现声音采集》&#xff0c;后来C#项目…

Ubuntu 命令行设置静态IP地址方法

一、先ifconfig查看电脑的网卡信息 找到有线网络或WiFi网络的网卡名称&#xff0c;我这里是eno1 二、输入route -n命令&#xff0c;打印路由表&#xff0c;这里主要是为了查看网关地址 我这里网关地址是192.168.10.1 三、更改配置文件 输入 vim /etc/network/interfaces&am…