class QLabel#

QLabel组件提供了一个文本或图像显示。更多

Inheritance diagram of PySide6.QtWidgets.QLabel

概述#

属性#

方法#

#

信号#

注意

本文档可能包含从 C++ 自动转换为 Python 的代码片段。我们始终欢迎对代码片段的翻译做出贡献。如果您在翻译中发现问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告知我们

详细描述#

警告

本节包含自动从 C++ 转换为 Python 的代码片段,可能包含错误。

../../_images/windows-label.png

QLabel 用于显示文本或图像。不提供用户交互功能。标签的视觉外观可以通过多种方式进行配置,并且可以用作指定其他小部件的焦点快捷键。

QLabel 可以包含以下任何一种内容类型

内容

设置

纯文本

将 QString 传递给 setText()

富文本

将包含富文本的 QString 传递给 setText()

位图

将 QPixmap 传递给 setPixmap() .

一部电影

将 QMovie 传递给 setMovie() .

一个数字

intdouble 传递给 setNum() ,它会将数字转换为纯文本。

无内容

与空纯文本相同。这是默认设置。由 clear() 设置。

警告

当通过构造函数传递 QString 或调用 setText() 时,请确保对输入进行清理,因为 QLabel 会尝试猜测是否将文本以纯文本或富文本(HTML 4 标记语言的一个子集)形式显示。您可能需要显式调用 setTextFormat() ,例如,如果您预期文本为纯文本格式,但不能控制文本源(例如从网络中加载的数据)。

使用这些函数中的任何一个更改内容时,将清除任何先前内容。

默认情况下,标签显示对齐的、垂直居中的文本和图像,其中要显示的文本中的任何制表符都会自动扩展。但是,可以通过多种方式调整和微调 QLabel 的外观。

可以使用 setAlignment()setIndent() 调整 QLabel 小部件区域内的内容位置。文本内容也可以使用 setWordWrap() 在单词边界处换行。例如,此代码设置了一个带有底部右角两行文本(两行都与标签的右侧对齐)的凹面板。

label = QLabel(self)
label.setFrameStyle(QFrame.Panel | QFrame.Sunken)
label.setText("first line\nsecond line")
label.setAlignment(Qt.AlignBottom | Qt.AlignRight)

QLabelQFrame 继承的属性和函数也可以用于指定任何给定标签要使用的窗口小部件框架。

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

phoneEdit = QLineEdit(self)
phoneLabel = QLabel("Phone:", self)
phoneLabel.setBuddy(phoneEdit)

在示例中,当用户按下 Alt+P 时,键盘焦点会转移到标签的伙伴(QLineEdit)上。如果伙伴是一个按钮(继承自 QAbstractButton),触发记忆键将模拟按钮点击。

另请参考

QLineEdit QTextEdit QPixmapQMovie

注意

可以使用属性直接访问,当使用 from __feature__ import true_property 时,否则通过访问函数访问。

属性:alignmentQt.AlignmentFlag 的组合

此属性保留标签内容的对齐方式。

默认情况下,标签的内容是左对齐并且垂直居中。

另请参考

text

访问函数:
属性:hasSelectedTextbool

此属性保留是否有任何文本被选中。

如果用户选中了某些或全部文本,则 hasSelectedText() 返回 true;否则返回 false

默认情况下,该属性为 false

注意

设置在标签上的 textInteractionFlags 需要包含 TextSelectableByMouse 或 TextSelectableByKeyboard。

另请参考

selectedText()

访问函数:
属性:indentint

此属性保留了标签文本的缩进量(以像素为单位)。

如果标签显示文本,缩进应用于左边缘如果 alignment() 是 Qt::AlignLeft,应用于右边缘如果 alignment() 是 Qt::AlignRight,应用于顶部边缘如果 alignment() 是 Qt::AlignTop,应用于底部边缘如果 alignment() 是 Qt::AlignBottom。

如果缩进为负,或者未设置缩进,则标签按以下方式计算有效缩进:如果 frameWidth() 为 0,则有效缩进变为 0。如果 frameWidth() 大于 0,则有效缩进变为 widget 当前 font() 中的 “x” 字符宽度的一半。

默认情况下,缩进为 -1,这意味着将按上述方式计算有效缩进。

另请参考

alignment margin frameWidth() font()

访问函数:
属性 marginᅟ: int#

此属性保存边距的宽度。

边距是框架最内层像素和内容最外层像素之间的距离。

默认边距为 0。

另请参考

indent

访问函数:

指定 QLabel 是否应自动使用 QDesktopServices::openUrl() 打开链接,而不是发出 linkActivated() 信号。

注意

在标签上设置的 textInteractionFlags 需要包含 LinksAccessibleByMouse 或 LinksAccessibleByKeyboard。

默认值是 false。

另请参考

textInteractionFlags()

访问函数:
属性 pixmapᅟ: QPixmap#

此属性保存标签的图标。

设置 pixmap 会清除之前的内容。如果有,快捷方式键会被禁用。

访问函数:
属性 scaledContents: bool#

此属性表示标签是否将内容缩放以填充所有可用空间。

启用且标签显示了 pixmap,它会将 pixmap 缩放到填充可用空间。

此属性的默认值是 false。

访问函数:
属性 selectedText: str#

此属性表示选中的文本。

如果没有选中文本,此属性的值为空字符串。

默认情况下,此属性包含空字符串。

注意

设置在标签上的 textInteractionFlags 需要包含 TextSelectableByMouse 或 TextSelectableByKeyboard。

另请参考

hasSelectedText()

访问函数:
属性 text: str#

此属性表示标签的文本。

如果没有设置文本,将返回空字符串。设置文本会清除之前的内容。

文本将被解释为纯文本或富文本,具体取决于文本格式设置;参见 setTextFormat() 。默认设置是 Qt::AutoText;即 QLabel 将尝试自动检测设置文本的格式。有关富文本的定义,请参见支持的 HTML 子集。

如果有设置 Buddy,Buddy 辅助键会从新文本更新。

注意,QLabel 非常适合显示小型富文本文档,例如从标签的调色板和字体属性获取其文档特定设置(字体、文本颜色、链接颜色)的小文档。对于大文档,请改用 QTextEdit 的只读模式。如果需要,QTextEdit 也可以提供滚动条。

注意

此函数启用鼠标跟踪,如果 text 包含富文本。

访问函数:
属性 textFormat: Qt.TextFormat#

此属性表示标签的文本格式。

参见 Qt::TextFormat 枚举,了解可能选项的说明。

默认格式是 Qt::AutoText。

另请参考

text()

访问函数:
属性 textInteractionFlags: Qt.TextInteractionFlag组合 #

指定当标签显示文本时应该如何与用户输入交互。

如果标记包含Qt::LinksAccessibleByKeyboard,也将自动设置焦点策略为Qt::StrongFocus。如果设置了Qt::TextSelectableByKeyboard,则焦点策略将被设置为Qt::ClickFocus。

默认值是Qt::LinksAccessibleByMouse。

访问函数:
属性 wordWrap: bool#

此属性持有标签的自动换行策略。

如果此属性为true,则标签文本将在必要时在单词断开处进行换行;否则,不会进行任何换行。

默认情况下,自动换行被禁用。

另请参考

text

访问函数:
__init__(text[, parent=None[, f=Qt.WindowFlags()]])#
参数列表:

构造一个显示文本text的标签。

将参数parent和窗口标志参数f传递给QFrame构造函数。

__init__([parent=None[, f=Qt.WindowFlags()]])
参数列表:

构造一个空标签。

将参数parent和窗口标志参数f传递给QFrame构造函数。

alignment()
返回类型:

PySide6.QtCore.Qt.AlignmentFlag的组合。

另请参考

setAlignment()

属性alignment的获取器。

buddy()
返回类型:

QWidget

返回此标签的伙伴,如果没有设置则返回nullptr。

另请参考

setBuddy()

clear()

清除标签的所有内容。

hasScaledContents()
返回类型:

bool

属性scaledContents的获取器。

hasSelectedText()
返回类型:

bool

属性hasSelectedText的获取器。

indent()
返回类型:

int

另请参考

setIndent()

属性indent的获取器。

linkActivated(link)
参数列表:

link – 字符串

当用户点击链接时发出此信号。锚点所引用的URL通过link传递。

另请参考

linkHovered()

linkHovered(link)
参数列表:

link – 字符串

当用户将鼠标悬停在链接上时发出此信号。锚点所引用的URL通过link传递。

另请参考

linkActivated()

margin()
返回类型:

int

另请参考

setMargin()

属性margin的获取器。

movie()
返回类型:

QMovie

返回指向标签的movie的指针,如果没有设置movie则返回nullptr。

另请参考

setMovie()

openExternalLinks()
返回类型:

bool

另请参考

setOpenExternalLinks()

属性openExternalLinks的获取器。

picture()
返回类型:

QPicture

返回标签的图片。

pixmap()#
返回类型:

QPixmap

属性 pixmapᅟ 的获取器。

selectedText()#
返回类型:

str

属性 selectedTextᅟ 的获取器。

selectionStart()#
返回类型:

int

selectionStart() 返回标签中第一个所选字符的索引,如果没有文本被选中则返回 -1。

注意

设置在标签上的 textInteractionFlags 需要包含 TextSelectableByMouse 或 TextSelectableByKeyboard。

另请参考

selectedText()

setAlignment(arg__1)#
参数列表:

arg__1AlignmentFlag 的组合

另请参考

alignment()

属性 alignmentᅟ 的设置器。

setBuddy(arg__1)#
参数列表:

arg__1QWidget

警告

本节包含自动从 C++ 转换为 Python 的代码片段,可能包含错误。

将此标签的伙伴设置为 buddy

当用户按下此标签指示的快捷键时,键盘焦点将转移至标签的伙伴控件。

伙伴机制仅适用于包含文本的 QLabels,其中有一个字符前面带有与号(&)。该字符用作快捷键。有关详细信息,请参阅 QKeySequence::mnemonic() 文档(若要显示实际与号,请使用‘&&’)。

在对话框中,您可以创建两个数据输入控件及其对应的标签,并设置几何布局,使每个标签都位于其数据输入控件(它的“伙伴”)的左侧,例如

nameEdit = QLineEdit(self)
QLabel nameLabel = QLabel("Name:", self)
nameLabel.setBuddy(nameEdit)
phoneEdit = QLineEdit(self)
QLabel phoneLabel = QLabel("Phone:", self)
phoneLabel.setBuddy(phoneEdit)
# (layout setup not shown)

上面的代码中,当用户按 Alt+N 时,焦点跳转到名称字段,当用户按 Alt+P 时,焦点跳转到电话字段。

要取消设置先前设置的伙伴,请使用将 buddy 设置为 nullptr 的此函数调用。

setIndent(arg__1)#
参数列表:

arg__1 – int

另请参考

indent()

属性 indent 的设置器。

setMargin(arg__1)
参数列表:

arg__1 – int

另请参考

margin()

属性 margin 的设置器。

setMovie(movie)
参数列表:

movieQMovie

将标签内容设置为 movie。任何先前内容都将被清除。标签不拥有这个电影。

如果设置了帮手快捷方式,则将其禁用。

另请参考

movie() setBuddy()

setNum(arg__1)
参数列表:

arg__1 – float

这是一个重载函数。

将标签内容设置为包含双精度浮点数 num 的文本表示形式。任何先前内容都将被清除。如果双精度数的字符串表示与标签当前内容相同,则不执行任何操作。

如果设置了帮手快捷方式,则将其禁用。

另请参考

setText() setBuddy()

setNum(arg__1)
参数列表:

arg__1 – int

将标签内容设置为包含整型 num 的文本表示形式的纯文本。任何先前内容都将被清除。如果整数的字符串表示与标签当前内容相同,则不执行任何操作。

如果设置了帮手快捷方式,则将其禁用。

另请参考

setText() setBuddy()

参数列表:

open – bool

另请参考

openExternalLinks()

属性 openExternalLinks 的设置器。

setPicture(arg__1)
参数列表:

arg__1QPicture

将标签内容设置为 picture。任何先前内容都将被清除。

如果设置了帮手快捷方式,则将其禁用。

另请参考

picture() setBuddy()

setPixmap(arg__1)#
参数列表:

arg__1QPixmap

另请参考

pixmap()

设置属性 pixmap 的值。

setScaledContents(arg__1)#
参数列表:

arg__1 – bool

另请参考

hasScaledContents()

设置属性 scaledContents 的值。

setSelection(arg__1, arg__2)#
参数列表:
  • arg__1 – int

  • arg__2 – int

从位置 start 开始选取文本,长度为 length 个字符。

注意

设置在标签上的 textInteractionFlags 需要包含 TextSelectableByMouse 或 TextSelectableByKeyboard。

另请参考

selectedText()

setText(arg__1)#
参数列表:

arg__1 – str

另请参考

text()

设置属性 text 的值。

setTextFormat(arg__1)#
参数列表:

arg__1TextFormat

另请参考

textFormat()

设置属性 textFormat 的值。

setTextInteractionFlags(flags)#
参数列表:

flagsTextInteractionFlag 的组合

另请参考

textInteractionFlags()

设置属性 textInteractionFlags 的值。

setWordWrap(on)#
参数列表:

on – bool

另请参考

wordWrap()

设置属性 wordWrap 的值。

text()#
返回类型:

str

另请参考

setText()

属性 text 的获取器。

textFormat()#
返回类型:

TextFormat

另请参考

setTextFormat()

属性 textFormat 的获取器。

textInteractionFlags()#
返回类型:

TextInteractionFlag 的组合。

属性 textInteractionFlags 的获取器。

wordWrap()#
返回类型:

bool

另请参考

setWordWrap()

属性 wordWrap 的获取器。