QLable 类使用教程

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

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

6、pixmap (类型:QPixmap

保存标签的像素图,可以用来显示图片

7、scaledContentsp (类型:bool

此属性用于确定标签是否缩放其内容以填充所有可用空间。
当启用并且标签显示像素图时,它将缩放像素图以填充可用空间。
此属性的默认值为false。

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)

设置标签内容的对齐方式

10、void setPixmap(const QPixmap &)

这个属性保存标签的像素图,可以用来显示图片

在这里插入图片描述

11、bool hasScaledContents() const

标签是否缩放其内容以填充所有可用空间

12、void setScaledContents(bool)

设置标签是否缩放其内容以填充所有可用空间

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)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值