The QLabel widget provides a text or image display. More…
Synopsis¶
Functions¶
def alignment ()
def buddy ()
def hasScaledContents ()
def hasSelectedText ()
def indent ()
def margin ()
def movie ()
def openExternalLinks ()
def picture ()
def pixmap ()
def selectedText ()
def selectionStart ()
def setAlignment (arg__1)
def setBuddy (arg__1)
def setIndent (arg__1)
def setMargin (arg__1)
def setOpenExternalLinks (open)
def setScaledContents (arg__1)
def setSelection (arg__1, arg__2)
def setTextFormat (arg__1)
def setTextInteractionFlags (flags)
def setWordWrap (on)
def text ()
def textFormat ()
def textInteractionFlags ()
def wordWrap ()
Slots¶
def clear ()
def setMovie (movie)
def setNum (arg__1)
def setNum (arg__1)
def setPicture (arg__1)
def setPixmap (arg__1)
def setText (arg__1)
Signals¶
def linkActivated (link)
def linkHovered (link)
Detailed Description¶
QLabel is used for displaying text or an image. No user interaction functionality is provided. The visual appearance of the label can be configured in various ways, and it can be used for specifying a focus mnemonic key for another widget.
A QLabel can contain any of the following content types:
Content
Setting
Plain text
Pass a
QString
to setText() .Rich text
Pass a
QString
that contains rich text to setText() .A pixmap
Pass a
QPixmap
to setPixmap() .A movie
Pass a
QMovie
to setMovie() .A number
Pass an int or a double to setNum() , which converts the number to plain text.
Nothing
The same as an empty plain text. This is the default. Set by clear() .
Warning
When passing a
QString
to the constructor or calling setText() , make sure to sanitize your input, as QLabel tries to guess whether it displays the text as plain text or as rich text, a subset of HTML 4 markup. You may want to call setTextFormat() explicitly, e.g. in case you expect the text to be in plain format but cannot control the text source (for instance when displaying data loaded from the Web).When the content is changed using any of these functions, any previous content is cleared.
By default, labels display left-aligned, vertically-centered text and images, where any tabs in the text to be displayed are
automatically expanded
. However, the look of a QLabel can be adjusted and fine-tuned in several ways.The positioning of the content within the QLabel widget area can be tuned with setAlignment() and setIndent() . Text content can also wrap lines along word boundaries with setWordWrap() . For example, this code sets up a sunken panel with a two-line text in the bottom right corner (both lines being flush with the right side of the label):
label = QLabel(self)label.setFrameStyle(QFrame.Panel | QFrame.Sunken)label.setText("first line\nsecond line")label.setAlignment(Qt.AlignBottom | Qt.AlignRight)The properties and functions QLabel inherits from QFrame can also be used to specify the widget frame to be used for any given label.
A QLabel is often used as a label for an interactive widget. For this use QLabel provides a useful mechanism for adding an mnemonic (see
QKeySequence
) that will set the keyboard focus to the other widget (called the QLabel ‘s “buddy”). For example:phoneEdit = QLineEdit(self)phoneLabel = QLabel("&Phone:", self)phoneLabel.setBuddy(phoneEdit)In this example, keyboard focus is transferred to the label’s buddy (the QLineEdit ) when the user presses Alt+P. If the buddy was a button (inheriting from QAbstractButton ), triggering the mnemonic would emulate a button click.
See also
QLineEdit QTextEdit
QPixmap
QMovie
GUI Design Handbook: Label
- class PySide2.QtWidgets.QLabel([parent=None[, f=Qt.WindowFlags()]])¶
PySide2.QtWidgets.QLabel(text[, parent=None[, f=Qt.WindowFlags()]])
- param f:
WindowFlags
- param parent:
PySide2.QtWidgets.QWidget
- param text:
str
Constructs an empty label.
The
parent
and widget flagf
, arguments are passed to the QFrame constructor.See also
setAlignment() setFrameStyle() setIndent()
Constructs a label that displays the text,
text
.The
parent
and widget flagf
, arguments are passed to the QFrame constructor.See also
setText() setAlignment() setFrameStyle() setIndent()
- PySide2.QtWidgets.QLabel.alignment()¶
- Return type:
Alignment
This property holds the alignment of the label’s contents.
By default, the contents of the label are left-aligned and vertically-centered.
See also
text
- PySide2.QtWidgets.QLabel.buddy()¶
- Return type:
PySide2.QtWidgets.QWidget
Returns this label’s buddy, or nullptr if no buddy is currently set.
See also
setBuddy()
- PySide2.QtWidgets.QLabel.clear()¶
Clears any label contents.
- PySide2.QtWidgets.QLabel.hasScaledContents()¶
- Return type:
bool
This property holds whether the label will scale its contents to fill all available space..
When enabled and the label shows a pixmap, it will scale the pixmap to fill the available space.
This property’s default is false.
- PySide2.QtWidgets.QLabel.hasSelectedText()¶
- Return type:
bool
This property holds whether there is any text selected.
returns
true
if some or all of the text has been selected by the user; otherwise returnsfalse
.By default, this property is
false
.Note
The textInteractionFlags set on the label need to include either TextSelectableByMouse or TextSelectableByKeyboard.
See also
selectedText()
- PySide2.QtWidgets.QLabel.indent()¶
- Return type:
int
This property holds the label’s text indent in pixels.
If a label displays text, the indent applies to the left edge if alignment() is
AlignLeft
, to the right edge if alignment() isAlignRight
, to the top edge if alignment() isAlignTop
, and to the bottom edge if alignment() isAlignBottom
.If indent is negative, or if no indent has been set, the label computes the effective indent as follows: If frameWidth() is 0, the effective indent becomes 0. If frameWidth() is greater than 0, the effective indent becomes half the width of the “x” character of the widget’s current
font()
.By default, the indent is -1, meaning that an effective indent is calculating in the manner described above.
See also
alignment margin frameWidth()
font()
- PySide2.QtWidgets.QLabel.linkActivated(link)¶
- Parameters:
link – str
- PySide2.QtWidgets.QLabel.linkHovered(link)¶
- Parameters:
link – str
- PySide2.QtWidgets.QLabel.margin()¶
- Return type:
int
This property holds the width of the margin.
The margin is the distance between the innermost pixel of the frame and the outermost pixel of contents.
The default margin is 0.
See also
indent
- PySide2.QtWidgets.QLabel.movie()¶
- Return type:
PySide2.QtGui.QMovie
Returns a pointer to the label’s movie, or nullptr if no movie has been set.
See also
setMovie()
- PySide2.QtWidgets.QLabel.openExternalLinks()¶
- Return type:
bool
Specifies whether QLabel should automatically open links using
openUrl()
instead of emitting the linkActivated() signal.Note
The textInteractionFlags set on the label need to include either LinksAccessibleByMouse or LinksAccessibleByKeyboard.
The default value is false.
See also
textInteractionFlags()
- PySide2.QtWidgets.QLabel.picture()¶
- Return type:
PySide2.QtGui.QPicture
Note
This function is deprecated.
New code should use the other overload which returns
QPicture
by-value.This function returns the label’s picture or
nullptr
if the label doesn’t have a picture.See also
setPicture()
- PySide2.QtWidgets.QLabel.pixmap()¶
- Return type:
PySide2.QtGui.QPixmap
Note
This function is deprecated.
This property holds the label’s pixmap..
Previously, Qt provided a version of
pixmap()
which returned the pixmap by-pointer. That version is now deprecated. To maintain compatibility with old code, you can explicitly differentiate between the by-pointer function and the by-value function:const QPixmap *pixmapPtr = label->pixmap();QPixmap pixmapVal = label->pixmap(Qt::ReturnByValue);
If you disable the deprecated version using the
QT_DISABLE_DEPRECATED_BEFORE
macro, then you can omitQt::ReturnByValue
as shown below:QPixmap pixmapVal = label->pixmap();
If no pixmap has been set, the deprecated getter function will return
nullptr
.Setting the pixmap clears any previous content. The buddy shortcut, if any, is disabled.
- PySide2.QtWidgets.QLabel.selectedText()¶
- Return type:
str
This property holds the selected text.
If there is no selected text this property’s value is an empty string.
By default, this property contains an empty string.
Note
The textInteractionFlags set on the label need to include either TextSelectableByMouse or TextSelectableByKeyboard.
See also
hasSelectedText()
- PySide2.QtWidgets.QLabel.selectionStart()¶
- Return type:
int
returns the index of the first selected character in the label or -1 if no text is selected.
Note
The textInteractionFlags set on the label need to include either TextSelectableByMouse or TextSelectableByKeyboard.
See also
selectedText()
- PySide2.QtWidgets.QLabel.setAlignment(arg__1)¶
- Parameters:
arg__1 –
Alignment
This property holds the alignment of the label’s contents.
By default, the contents of the label are left-aligned and vertically-centered.
See also
text
- PySide2.QtWidgets.QLabel.setBuddy(arg__1)¶
- Parameters:
arg__1 – PySide2.QtWidgets.QWidget
Sets this label’s buddy to
buddy
.When the user presses the shortcut key indicated by this label, the keyboard focus is transferred to the label’s buddy widget.
The buddy mechanism is only available for QLabels that contain text in which one character is prefixed with an ampersand, ‘&’. This character is set as the shortcut key. See the
mnemonic()
documentation for details (to display an actual ampersand, use ‘&&’).In a dialog, you might create two data entry widgets and a label for each, and set up the geometry layout so each label is just to the left of its data entry widget (its “buddy”), for example:
nameEd = QLineEdit(self)nameLb = QLabel("&Name:", self)nameLb.setBuddy(nameEd)phoneEd = QLineEdit(self)phoneLb = QLabel("&Phone:", self)phoneLb.setBuddy(phoneEd)# (layout setup not shown)
With the code above, the focus jumps to the Name field when the user presses Alt+N, and to the Phone field when the user presses Alt+P.
To unset a previously set buddy, call this function with
buddy
set to nullptr.See also
buddy() setText() QShortcut setAlignment()
- PySide2.QtWidgets.QLabel.setIndent(arg__1)¶
- Parameters:
arg__1 – int
This property holds the label’s text indent in pixels.
If a label displays text, the indent applies to the left edge if alignment() is
AlignLeft
, to the right edge if alignment() isAlignRight
, to the top edge if alignment() isAlignTop
, and to the bottom edge if alignment() isAlignBottom
.If indent is negative, or if no indent has been set, the label computes the effective indent as follows: If frameWidth() is 0, the effective indent becomes 0. If frameWidth() is greater than 0, the effective indent becomes half the width of the “x” character of the widget’s current
font()
.By default, the indent is -1, meaning that an effective indent is calculating in the manner described above.
See also
alignment margin frameWidth()
font()
- PySide2.QtWidgets.QLabel.setMargin(arg__1)¶
- Parameters:
arg__1 – int
This property holds the width of the margin.
The margin is the distance between the innermost pixel of the frame and the outermost pixel of contents.
The default margin is 0.
See also
indent
- PySide2.QtWidgets.QLabel.setMovie(movie)¶
- Parameters:
movie – PySide2.QtGui.QMovie
Sets the label contents to
movie
. Any previous content is cleared. The label does NOT take ownership of the movie.The buddy shortcut, if any, is disabled.
See also
movie() setBuddy()
- PySide2.QtWidgets.QLabel.setNum(arg__1)¶
- Parameters:
arg__1 –
double
This is an overloaded function.
Sets the label contents to plain text containing the textual representation of double
num
. Any previous content is cleared. Does nothing if the double’s string representation is the same as the current contents of the label.The buddy shortcut, if any, is disabled.
See also
setText()
setNum()
setBuddy()
- PySide2.QtWidgets.QLabel.setNum(arg__1)
- Parameters:
arg__1 – int
Sets the label contents to plain text containing the textual representation of integer
num
. Any previous content is cleared. Does nothing if the integer’s string representation is the same as the current contents of the label.The buddy shortcut, if any, is disabled.
See also
setText()
setNum()
setBuddy()
- PySide2.QtWidgets.QLabel.setOpenExternalLinks(open)¶
- Parameters:
open – bool
Specifies whether QLabel should automatically open links using
openUrl()
instead of emitting the linkActivated() signal.Note
The textInteractionFlags set on the label need to include either LinksAccessibleByMouse or LinksAccessibleByKeyboard.
The default value is false.
See also
textInteractionFlags()
- PySide2.QtWidgets.QLabel.setPicture(arg__1)¶
- Parameters:
arg__1 – PySide2.QtGui.QPicture
Sets the label contents to
picture
. Any previous content is cleared.The buddy shortcut, if any, is disabled.
See also
picture() setBuddy()
- PySide2.QtWidgets.QLabel.setPixmap(arg__1)¶
- Parameters:
arg__1 – PySide2.QtGui.QPixmap
This property holds the label’s pixmap..
Previously, Qt provided a version of
pixmap()
which returned the pixmap by-pointer. That version is now deprecated. To maintain compatibility with old code, you can explicitly differentiate between the by-pointer function and the by-value function:const QPixmap *pixmapPtr = label->pixmap();QPixmap pixmapVal = label->pixmap(Qt::ReturnByValue);
If you disable the deprecated version using the
QT_DISABLE_DEPRECATED_BEFORE
macro, then you can omitQt::ReturnByValue
as shown below:QPixmap pixmapVal = label->pixmap();
If no pixmap has been set, the deprecated getter function will return
nullptr
.Setting the pixmap clears any previous content. The buddy shortcut, if any, is disabled.
- PySide2.QtWidgets.QLabel.setScaledContents(arg__1)¶
- Parameters:
arg__1 – bool
This property holds whether the label will scale its contents to fill all available space..
When enabled and the label shows a pixmap, it will scale the pixmap to fill the available space.
This property’s default is false.
- PySide2.QtWidgets.QLabel.setSelection(arg__1, arg__2)¶
- Parameters:
arg__1 – int
arg__2 – int
Selects text from position
start
and forlength
characters.Note
The textInteractionFlags set on the label need to include either TextSelectableByMouse or TextSelectableByKeyboard.
See also
selectedText()
- PySide2.QtWidgets.QLabel.setText(arg__1)¶
- Parameters:
arg__1 – str
This property holds the label’s text.
If no text has been set this will return an empty string. Setting the text clears any previous content.
The text will be interpreted either as plain text or as rich text, depending on the text format setting; see setTextFormat() . The default setting is
AutoText
; i.e. QLabel will try to auto-detect the format of the text set. See Supported HTML Subset for the definition of rich text.If a buddy has been set, the buddy mnemonic key is updated from the new text.
Note that QLabel is well-suited to display small rich text documents, such as small documents that get their document specific settings (font, text color, link color) from the label’s palette and font properties. For large documents, use QTextEdit in read-only mode instead. QTextEdit can also provide a scroll bar when necessary.
Note
This function enables mouse tracking if
text
contains rich text.See also
setTextFormat() setBuddy() alignment
- PySide2.QtWidgets.QLabel.setTextFormat(arg__1)¶
- Parameters:
arg__1 – TextFormat
This property holds the label’s text format.
See the
TextFormat
enum for an explanation of the possible options.The default format is
AutoText
.See also
text()
- PySide2.QtWidgets.QLabel.setTextInteractionFlags(flags)¶
- Parameters:
flags –
TextInteractionFlags
Specifies how the label should interact with user input if it displays text.
If the flags contain
LinksAccessibleByKeyboard
the focus policy is also automatically set toStrongFocus
. IfTextSelectableByKeyboard
is set then the focus policy is set toClickFocus
.The default value is
LinksAccessibleByMouse
.
- PySide2.QtWidgets.QLabel.setWordWrap(on)¶
- Parameters:
on – bool
This property holds the label’s word-wrapping policy.
If this property is
true
then label text is wrapped where necessary at word-breaks; otherwise it is not wrapped at all.By default, word wrap is disabled.
See also
text
- PySide2.QtWidgets.QLabel.text()¶
- Return type:
str
This property holds the label’s text.
If no text has been set this will return an empty string. Setting the text clears any previous content.
The text will be interpreted either as plain text or as rich text, depending on the text format setting; see setTextFormat() . The default setting is
AutoText
; i.e. QLabel will try to auto-detect the format of the text set. See Supported HTML Subset for the definition of rich text.If a buddy has been set, the buddy mnemonic key is updated from the new text.
Note that QLabel is well-suited to display small rich text documents, such as small documents that get their document specific settings (font, text color, link color) from the label’s palette and font properties. For large documents, use QTextEdit in read-only mode instead. QTextEdit can also provide a scroll bar when necessary.
Note
This function enables mouse tracking if
text
contains rich text.See also
setTextFormat() setBuddy() alignment
- PySide2.QtWidgets.QLabel.textFormat()¶
- Return type:
TextFormat
This property holds the label’s text format.
See the
TextFormat
enum for an explanation of the possible options.The default format is
AutoText
.See also
text()
- PySide2.QtWidgets.QLabel.textInteractionFlags()¶
- Return type:
TextInteractionFlags
Specifies how the label should interact with user input if it displays text.
If the flags contain
LinksAccessibleByKeyboard
the focus policy is also automatically set toStrongFocus
. IfTextSelectableByKeyboard
is set then the focus policy is set toClickFocus
.The default value is
LinksAccessibleByMouse
.
- PySide2.QtWidgets.QLabel.wordWrap()¶
- Return type:
bool
This property holds the label’s word-wrapping policy.
If this property is
true
then label text is wrapped where necessary at word-breaks; otherwise it is not wrapped at all.By default, word wrap is disabled.
See also
text
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.