QLabel Class Reference

[ QtGui module]

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

继承 QFrame .

方法

Qt Signals


详细描述

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

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.

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

Content 设置
纯文本 传递 QString to setText ().
富文本 传递 QString that contains rich text to setText ().
A pixmap 传递 QPixmap to setPixmap ().
A movie 传递 QMovie to setMovie ().
A number 传递 int 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 ().

警告: 当传递 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. 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.

默认情况下,标签显示 左对齐,垂直居中 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 () 和 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):

 QLabel *label = new QLabel(this);
 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 (见 QKeySequence ) that will set the keyboard focus to the other widget (called the QLabel's "buddy"). For example:

 QLineEdit* phoneEdit = new QLineEdit(this);
 QLabel* phoneLabel = new QLabel("&Phone:", this);
 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.

Screenshot of a Macintosh style label A label shown in the Macintosh widget style .
Screenshot of a Plastique style label A label shown in the Plastique widget style .
Screenshot of a Windows XP style label A label shown in the Windows XP widget style .

方法文档编制

QLabel.__init__ ( self , QWidget   parent  = None, Qt.WindowFlags   flags  = 0)

parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs an empty label.

parent and widget flag f , arguments are passed 到 QFrame 构造函数。

另请参阅 setAlignment (), setFrameStyle (),和 setIndent ().

QLabel.__init__ ( self , QString  text , QWidget   parent  = None, Qt.WindowFlags   flags  = 0)

parent argument, if not None, causes self to be owned by Qt instead of PyQt.

构造标签显示文本 text .

parent and widget flag f , arguments are passed 到 QFrame 构造函数。

另请参阅 setText (), setAlignment (), setFrameStyle (),和 setIndent ().

Qt.Alignment QLabel.alignment ( self )

QWidget QLabel.buddy ( self )

Returns this label's buddy, or 0 if no buddy is currently set.

另请参阅 setBuddy ().

QLabel.changeEvent ( self , QEvent )

重实现自 QWidget.changeEvent ().

QLabel.clear ( self )

This method is also a Qt slot with the C++ signature void clear() .

清零任何标签内容。

QLabel.contextMenuEvent ( self , QContextMenuEvent   ev )

重实现自 QWidget.contextMenuEvent ().

bool QLabel.event ( self , QEvent   e )

重实现自 QObject.event ().

QLabel.focusInEvent ( self , QFocusEvent   ev )

重实现自 QWidget.focusInEvent ().

bool QLabel.focusNextPrevChild ( self , bool  next )

重实现自 QWidget.focusNextPrevChild ().

QLabel.focusOutEvent ( self , QFocusEvent   ev )

重实现自 QWidget.focusOutEvent ().

bool QLabel.hasScaledContents ( self )

bool QLabel.hasSelectedText ( self )

int QLabel.heightForWidth ( self , int)

重实现自 QWidget.heightForWidth ().

int QLabel.indent ( self )

QLabel.keyPressEvent ( self , QKeyEvent   ev )

重实现自 QWidget.keyPressEvent ().

int QLabel.margin ( self )

QSize QLabel.minimumSizeHint ( self )

重实现自 QWidget.minimumSizeHint ().

QLabel.mouseMoveEvent ( self , QMouseEvent   ev )

重实现自 QWidget.mouseMoveEvent ().

QLabel.mousePressEvent ( self , QMouseEvent   ev )

重实现自 QWidget.mousePressEvent ().

QLabel.mouseReleaseEvent ( self , QMouseEvent   ev )

重实现自 QWidget.mouseReleaseEvent ().

QMovie QLabel.movie ( self )

Returns a pointer to the label's movie, or 0 if no movie has been set.

另请参阅 setMovie ().

bool QLabel.openExternalLinks ( self )

QLabel.paintEvent ( self , QPaintEvent )

重实现自 QWidget.paintEvent ().

QPicture QLabel.picture ( self )

Returns the label's picture or 0 if the label doesn't have a picture.

另请参阅 setPicture ().

QPixmap QLabel.pixmap ( self )

QString QLabel.selectedText ( self )

int QLabel.selectionStart ( self )

selectionStart() returns the index of the first selected character in the label or -1 if no text is selected.

注意: textInteractionFlags set on the label need to include either TextSelectableByMouse or TextSelectableByKeyboard.

该函数在 Qt 4.7 引入。

另请参阅 selectedText ().

QLabel.setAlignment ( self , Qt.Alignment )

QLabel.setBuddy ( self , 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 QKeySequence.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:

 QLineEdit *nameEd  = new QLineEdit(this);
 QLabel    *nameLb  = new QLabel("&Name:", this);
 nameLb->setBuddy(nameEd);
 QLineEdit *phoneEd = new QLineEdit(this);
 QLabel    *phoneLb = new QLabel("&Phone:", this);
 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 0.

另请参阅 buddy (), setText (), QShortcut ,和 setAlignment ().

QLabel.setIndent ( self , int)

QLabel.setMargin ( self , int)

QLabel.setMovie ( self , QMovie   movie )

This method is also a Qt slot with the C++ signature void setMovie(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.

另请参阅 movie () 和 setBuddy ().

QLabel.setNum ( self , float)

This method is also a Qt slot with the C++ signature void setNum(double) .

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.

另请参阅 setText (), QString.setNum (),和 setBuddy ().

QLabel.setNum ( self , int)

This method is also a Qt slot with the C++ signature void setNum(int) .

这是重载函数。

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.

另请参阅 setText (), QString.setNum (),和 setBuddy ().

QLabel.setOpenExternalLinks ( self , bool  open )

QLabel.setPicture ( self , QPicture )

This method is also a Qt slot with the C++ signature void setPicture(const QPicture&) .

Sets the label contents to picture . Any previous content is cleared.

The buddy shortcut, if any, is disabled.

另请参阅 picture () 和 setBuddy ().

QLabel.setPixmap ( self , QPixmap )

This method is also a Qt slot with the C++ signature void setPixmap(const QPixmap&) .

QLabel.setScaledContents ( self , bool)

QLabel.setSelection ( self , int, int)

选择文本从位置 start and for length characters.

注意: textInteractionFlags set on the label need to include either TextSelectableByMouse or TextSelectableByKeyboard.

该函数在 Qt 4.7 引入。

另请参阅 selectedText ().

QLabel.setText ( self , QString)

This method is also a Qt slot with the C++ signature void setText(const QString&) .

QLabel.setTextFormat ( self , Qt.TextFormat )

QLabel.setTextInteractionFlags ( self , Qt.TextInteractionFlags   flags )

QLabel.setWordWrap ( self , bool  on )

QSize QLabel.sizeHint ( self )

重实现自 QWidget.sizeHint ().

QString QLabel.text ( self )

Qt.TextFormat QLabel.textFormat ( self )

Qt.TextInteractionFlags QLabel.textInteractionFlags ( self )

bool QLabel.wordWrap ( self )


Qt Signal Documentation

void linkActivated (const QString&)

This is the default overload of this signal.

This signal is emitted when the user clicks a link. The URL referred to by the anchor is passed in link .

该函数在 Qt 4.2 引入。

另请参阅 linkHovered ().

void linkHovered (const QString&)

This is the default overload of this signal.

This signal is emitted when the user hovers over a link. The URL referred to by the anchor is passed in link .

该函数在 Qt 4.2 引入。

另请参阅 linkActivated ().