PySide6.QtWidgets.QLabel

class QLabel

QLabel 小部件提供了文本或图像显示。更多

PySide6.QtWidgets.QLabel 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

../../_images/fusion-label.png

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

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

内容

设置

纯文本

传递一个QString到setText()

富文本

传递一个包含富文本的QString到setText()

一个位图

传递一个QPixmap到setPixmap()

一部电影

传递一个QMovie到setMovie()

一个数字

传递一个intdoublesetNum(),它将数字转换为纯文本。

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

警告

当将QString传递给构造函数或调用setText()时,请确保清理您的输入,因为QLabel会尝试猜测它是将文本显示为纯文本还是富文本(HTML 4标记的子集)。您可能希望显式调用setTextFormat(),例如在您期望文本为纯文本格式但无法控制文本源的情况下(例如在显示从Web加载的数据时)。

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

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

QLabel小部件区域内,内容的定位可以通过setAlignment()setIndent()进行调整。文本内容也可以通过setWordWrap()在单词边界处换行。例如,这段代码设置了一个带有两行文本的下沉面板,文本位于右下角(两行都与标签的右侧对齐):

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

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

一个 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时,属性可以直接使用,否则通过访问器函数使用。

property alignmentᅟ: Combination of Qt.AlignmentFlag

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

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

另请参阅

text

Access functions:
property hasSelectedTextᅟ: bool

此属性表示是否有任何文本被选中。

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

默认情况下,此属性为 false

注意

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

另请参阅

selectedText()

Access functions:
property indentᅟ: int

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

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

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

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

另请参阅

对齐 边距 frameWidth() font()

Access functions:
property marginᅟ: int

此属性保存边距的宽度。

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

默认边距为0。

另请参阅

indent

Access functions:

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

注意

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

默认值为 false。

另请参阅

textInteractionFlags()

Access functions:
property pixmapᅟ: QPixmap

此属性保存标签的像素图。

设置pixmap会清除任何先前的内容。如果有的话,伙伴快捷键将被禁用。

Access functions:
property scaledContentsᅟ: bool

此属性决定标签是否缩放其内容以填充所有可用空间。

当启用并且标签显示一个像素图时,它将缩放像素图以填充可用空间。

此属性的默认值为 false。

Access functions:
property selectedTextᅟ: str

此属性保存选定的文本。

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

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

注意

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

另请参阅

hasSelectedText()

Access functions:
property textᅟ: str

此属性保存标签的文本。

如果没有设置文本,这将返回一个空字符串。设置文本将清除任何先前的内容。

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

如果已经设置了伙伴,伙伴助记键将从新文本中更新。

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

注意

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

Access functions:
property textFormatᅟ: Qt.TextFormat

此属性保存标签的文本格式。

有关可能选项的解释,请参见 Qt::TextFormat 枚举。

默认格式是 Qt::AutoText。

另请参阅

text()

Access functions:
property textInteractionFlagsᅟ: Combination of Qt.TextInteractionFlag

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

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

默认值为 Qt::LinksAccessibleByMouse。

Access functions:
property wordWrapᅟ: bool

此属性保存标签的自动换行策略。

如果此属性为true,则标签文本在必要时会在单词断点处换行;否则,它根本不会换行。

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

另请参阅

text

Access functions:
__init__([parent=None[, f=Qt.WindowFlags()]])
Parameters:

构造一个空标签。

parent 和小部件标志 f 参数被传递给 QFrame 构造函数。

__init__(text[, parent=None[, f=Qt.WindowFlags()]])
Parameters:

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

parent 和小部件标志 f 参数被传递给 QFrame 构造函数。

alignment()
Return type:

AlignmentFlag 的组合

另请参阅

setAlignment()

属性 alignmentᅟ 的获取器。

buddy()
Return type:

QWidget

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

另请参阅

setBuddy()

clear()

清除任何标签内容。

hasScaledContents()
Return type:

布尔

属性 scaledContentsᅟ 的获取器。

hasSelectedText()
Return type:

布尔

属性 hasSelectedTextᅟ 的获取器。

indent()
Return type:

整数

另请参阅

setIndent()

属性 indentᅟ 的获取器。

linkActivated(link)
Parameters:

链接 – str

当用户点击链接时,会发出此信号。锚点所引用的URL在link中传递。

另请参阅

linkHovered()

linkHovered(link)
Parameters:

链接 – str

当用户悬停在链接上时,会发出此信号。锚点所引用的URL在link中传递。

另请参阅

linkActivated()

margin()
Return type:

整数

另请参阅

setMargin()

属性 marginᅟ 的获取器。

movie()
Return type:

QMovie

返回指向标签电影的指针,如果未设置电影则返回nullptr。

另请参阅

setMovie()

openExternalLinks()
Return type:

布尔

另请参阅

setOpenExternalLinks()

属性 openExternalLinksᅟ 的获取器。

picture()
Return type:

QPicture

返回标签的图片。

另请参阅

setPicture()

pixmap()
Return type:

QPixmap

属性 pixmapᅟ 的获取器。

selectedText()
Return type:

字符串

属性 selectedTextᅟ 的获取器。

selectionStart()
Return type:

整数

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

注意

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

另请参阅

selectedText()

setAlignment(arg__1)
Parameters:

arg__1AlignmentFlag 的组合

另请参阅

alignment()

属性 alignmentᅟ 的设置器。

setBuddy(buddy)
Parameters:

伙伴QWidget

警告

本节包含从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)
Parameters:

arg__1 – 整数

另请参阅

indent()

属性 indentᅟ 的设置器。

setMargin(arg__1)
Parameters:

arg__1 – 整数

另请参阅

margin()

属性 marginᅟ 的设置器。

setMovie(movie)
Parameters:

电影QMovie

将标签内容设置为movie。任何之前的内容都会被清除。标签不会拥有电影的所有权。

如果存在伙伴快捷方式,则它已被禁用。

另请参阅

movie() setBuddy()

setNum(num)
Parameters:

num – 浮点数

这是一个重载函数。

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

如果存在伙伴快捷方式,则它已被禁用。

另请参阅

setText() setBuddy()

setNum(num)
Parameters:

num – 整数

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

如果存在伙伴快捷方式,则它已被禁用。

另请参阅

setText() setBuddy()

Parameters:

open – 布尔值

另请参阅

openExternalLinks()

属性 openExternalLinksᅟ 的设置器。

setPicture(picture)
Parameters:

图片QPicture

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

如果存在伙伴快捷方式,则它已被禁用。

另请参阅

picture() setBuddy()

setPixmap(arg__1)
Parameters:

arg__1QPixmap

另请参阅

pixmap()

属性 pixmapᅟ 的设置器。

setScaledContents(arg__1)
Parameters:

arg__1 – 布尔值

另请参阅

hasScaledContents()

属性 scaledContentsᅟ 的设置器。

setSelection(start, length)
Parameters:
  • start – int

  • length – int

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

注意

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

另请参阅

selectedText()

setText(arg__1)
Parameters:

arg__1 – str

另请参阅

text()

属性 textᅟ 的设置器。

setTextFormat(arg__1)
Parameters:

arg__1TextFormat

另请参阅

textFormat()

属性 textFormatᅟ 的设置器。

setTextInteractionFlags(flags)
Parameters:

flagsTextInteractionFlag 的组合

另请参阅

textInteractionFlags()

属性 textInteractionFlagsᅟ 的设置器。

setWordWrap(on)
Parameters:

on – 布尔值

另请参阅

wordWrap()

属性 wordWrapᅟ 的设置器。

text()
Return type:

字符串

另请参阅

setText()

属性 textᅟ 的获取器。

textFormat()
Return type:

TextFormat

另请参阅

setTextFormat()

属性 textFormatᅟ 的获取器。

textInteractionFlags()
Return type:

TextInteractionFlag 的组合

属性 textInteractionFlagsᅟ 的获取器。

wordWrap()
Return type:

布尔

另请参阅

setWordWrap()

属性 wordWrapᅟ 的获取器。