QLabel Class Reference
The QLabel widget provides a static information display
More...
#include <qlabel.h>
Inherits QFrame.
List of all member functions.
Public Members
Public Slots
virtual voidÂ
setText ( const QString & )Â
virtual voidÂ
setPixmap ( const QPixmap & )Â
virtual voidÂ
setMovie ( const QMovie & )Â
virtual voidÂ
setNum ( int )Â
virtual voidÂ
setNum ( double )Â
-
Protected Members
Properties
Type | Name | READ | WRITE | Options
|
---|
QString | text | text | setText |
|
TextFormat | textFormat | textFormat | setTextFormat |
|
QPixmap | pixmap | pixmap | setPixmap |
|
bool | scaledContents | hasScaledContents | setScaledContents |
|
Alignment | alignment | alignment | setAlignment |
|
int | indent | indent | setIndent |
|
Detailed Description
The QLabel widget provides a static information display
QLabel is used for displaying information in the form of text or
image to the user. 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 accelerator
key for another widget.
A QLabel can contain any of the following content types:
- A plain text: set by passing a QString to setText().
- A rich text: set by passing a QString that contains a rich text to setText().
- A pixmap: set by passing a QPixmap to setPixmap().
- A movie: set by passing a QMovie to setMovie().
- A number: set by passing 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().
When the content is changed using any of these functions, any
previous content is cleared.
The look of a QLabel can be tuned in several ways. All the settings
of QFrame are available for specifying a widget frame. The
positioning of the content within the QLabel widget area can be
tuned with setAlignment() and setIndent(). 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;
label->setFrameStyle( QFrame::Panel | QFrame::Sunken );
label->setText( "first line\nsecond line" );
label->setAlignment( AlignBottom | AlignRight );
A QLabel is often used as a label for another, interactive
widget. For this use, QLabel provides a handy mechanism for adding
an accelerator key (see QAccel) that will set the keyboard focus to
the other widget (called the QLabel's "buddy"). Example:
QLineEdit* phoneEdit = new QLineEdit( this, "phoneEdit" );
QLabel* phoneLabel = new QLabel( phoneEdit, "&Phone:", this, "phoneLabel" );
In this example, keyboard focus is transferred to the label's buddy
(the QLineEdit) when the user presses Alt-P. You can also
use the setBuddy() function to accomplish the same.
See also QLineEdit, QTextView, QPixmap, QMovie and GUI Design Handbook: Label
Examples:
xml/tagreader-with-features/tagreader.cpp
layout/layout.cpp
customlayout/main.cpp
progress/progress.cpp
popup/popup.cpp
movies/main.cpp
menu/menu.cpp
qmag/qmag.cpp
cursor/cursor.cpp
Member Function Documentation
QLabel::QLabel ( QWidget * buddy, const QString & text, QWidget * parent, const char * name=0, WFlags f=0 )
Constructs a label with a text and a buddy.
The text is set with setText(). The buddy is set with setBuddy().
The parent, name and f arguments are passed to the QFrame
constructor.
See also setText(), setBuddy(), setAlignment(), setFrameStyle() and setIndent().
QLabel::QLabel ( QWidget * parent, const char * name=0, WFlags f=0 )
Constructs an empty label.
The parent, name and f arguments are passed to the QFrame
constructor.
See also setAlignment(), setFrameStyle() and setIndent().
QLabel::QLabel ( const QString & text, QWidget * parent, const char * name=0, WFlags f=0 )
Constructs a label with a text. The text is set with setText().
The parent, name and f arguments are passed to the QFrame
constructor.
See also setText(), setAlignment(), setFrameStyle() and setIndent().
QLabel::~QLabel ()
Destructs the label.
int QLabel::alignment () const
Returns the alignment setting.
See also setAlignment().
bool QLabel::autoResize () const
This function is obsolete. It is provided to keep old source working, and will probably be removed in a future version of Qt. We strongly advise against using it in new code.
Returns TRUE if auto-resizing is enabled, or FALSE if auto-resizing
is disabled.
Auto-resizing is disabled by default.
See also setAutoResize().
QWidget * QLabel::buddy () const
Returns the buddy of this label, or 0 if no buddy is currently set.
See also setBuddy().
void QLabel::clear () [slot]
Clears any label contents. Equivalent with setText( "" ).
void QLabel::drawContents ( QPainter * p ) [virtual protected]
Draws the label contents using the painter p.
Reimplemented from QFrame.
void QLabel::drawContentsMask ( QPainter * p ) [virtual protected]
Draws the label contents mask using the painter p.
Used only in transparent mode.
See also QWidget::setAutoMask();.
Reimplemented from QFrame.
void QLabel::fontChange ( const QFont & ) [virtual protected]
Reimplemented for internal reasons; the API is not affected.
Reimplemented from QWidget.
bool QLabel::hasScaledContents () const
Returns whether the label will scale its contents to fill all
available space.
See also setScaledContents().
int QLabel::heightForWidth ( int w ) const [virtual]
Reimplemented for internal reasons; the API is not affected.
Reimplemented from QWidget.
int QLabel::indent () const
Returns the indent of the label.
See also setIndent().
QSize QLabel::minimumSizeHint () const [virtual]
Reimplemented for internal reasons; the API is not affected.
Reimplemented from QWidget.
QMovie* QLabel::movie () const
If the label contains a movie, returns a pointer to it. Otherwise,
returns 0.
See also setMovie().
QPixmap * QLabel::pixmap () const
If the label contains a pixmap, returns a pointer to it. Otherwise,
returns 0.
See also setPixmap().
void QLabel::resizeEvent ( QResizeEvent * e ) [virtual protected]
Reimplemented for internal reasons; the API is not affected.
Reimplemented from QWidget.
void QLabel::setAlignment ( int alignment ) [virtual]
Sets the alignment of the label contents.
The alignment must be a bitwise OR of Qt::AlignmentFlags
values. The WordBreak, ExpandTabs, SingleLine
and ShowPrefix
flags apply only if the label contains a plain text, and
are otherwise ignored. The DontClip
flag is always ignored.
If the label has a buddy, the ShowPrefix
flag is forced to TRUE.
The default alignment is AlignLeft | AlignVCenter |
ExpandTabs
if the label doesn't have a buddy and
AlignLeft | AlignVCenter | ExpandTabs | ShowPrefix
if
the label has a buddy.
See also Qt::AlignmentFlags, alignment(), setBuddy() and setText().
Examples:
layout/layout.cpp
customlayout/main.cpp
popup/popup.cpp
qmag/qmag.cpp
cursor/cursor.cpp
void QLabel::setAutoMask ( bool b ) [virtual]
Reimplemented for internal reasons; the API is not affected.
Reimplemented from QWidget.
void QLabel::setAutoResize ( bool enable ) [virtual]
This function is obsolete. It is provided to keep old source working, and will probably be removed in a future version of Qt. We strongly advise against using it in new code.
Enables auto-resizing if enable is TRUE, or disables it if enable is FALSE.
When auto-resizing is enabled, the label will resize itself to fit
the contents whenever the contents change. The top left corner is
not moved. This is useful for QLabel widgets that are not managed by
a QLayout (e.g. top-level widgets).
Auto-resizing is disabled by default.
See also autoResize(), adjustSize() and sizeHint().
void QLabel::setBuddy ( QWidget * buddy ) [virtual]
Sets the buddy of this label to buddy.
When the user presses the accelerator 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 a
plain text in which one letter is prefixed with '&'. It is this
letter that is set as the accelerator key. The letter is displayed
underlined, and the '&' is not displayed (i.e. the ShowPrefix
alignment flag is turned on; see setAlignment()).
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"), somewhat like this:
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.
See also buddy(), setText(), QAccel and setAlignment().
void QLabel::setIndent ( int indent )
Sets the indent of the label to indent pixels.
The indent applies to the left edge if alignment() is AlignLeft,
to the right edge if alignment() is AlignRight,
to the top edge
if alignment() is AlignTop,
and to to the bottom edge if
alignment() is AlignBottom.
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().
If indent is non-negative, the effective indent is indent
pixels.
See also indent(), setAlignment(), frameWidth() and font().
Examples:
movies/main.cpp
void QLabel::setMovie ( const QMovie & movie ) [virtual slot]
Sets the label contents to movie. Any previous content is cleared.
The buddy accelerator, if any, is disabled.
The label resizes itself if auto-resizing is enabled.
See also movie() and setBuddy().
void QLabel::setNum ( double num ) [virtual slot]
Sets the label contents to a plain text containing the printed value
of num. Does nothing if this is equal to the current contents of
the label. Any previous content is cleared.
The buddy accelerator, if any, is disabled.
The label resizes itself if auto-resizing is enabled.
See also setText(), QString::setNum() and setBuddy().
void QLabel::setNum ( int num ) [virtual slot]
Sets the label contents to a plain text containing the printed value
of num. Does nothing if this is equal to the current contents of
the label. Any previous content is cleared.
The buddy accelerator, if any, is disabled.
The label resizes itself if auto-resizing is enabled.
See also setText(), QString::setNum() and setBuddy().
void QLabel::setPixmap ( const QPixmap & pixmap ) [virtual slot]
Sets the label contents to pixmap. Any previous content is cleared.
The buddy accelerator, if any, is disabled.
The label resizes itself if auto-resizing is enabled.
See also pixmap() and setBuddy().
void QLabel::setScaledContents ( bool enable )
When called with enable == TRUE, and the label shows a pixmap,
it will scale the pixmap to fill available space.
See also hasScaledContents().
void QLabel::setText ( const QString & text ) [virtual slot]
Sets the label contents to text, or does nothing if text is
equal to the current contents of the label. Any previous content is
cleared.
text will be interpreted either as a plain text or as a 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 text.
If text is interpreted as a plain text, and a buddy has been set,
the buddy accelerator key is updated from the new text.
The label resizes itself if auto-resizing is enabled.
Note that Qlabel is well suited to display small rich text documents
only. For large documents, use QTextView instead. It will flicker
less on resize and can also provide a scrollbar if necessary.
See also text(), setTextFormat(), setBuddy() and setAlignment().
Examples:
layout/layout.cpp
customlayout/main.cpp
popup/popup.cpp
qmag/qmag.cpp
cursor/cursor.cpp
void QLabel::setTextFormat ( Qt::TextFormat format )
Sets the text format to format. See the Qt::TextFormat enum for
an explanation of the possible options.
The default format is AutoText.
See also textFormat() and setText().
QSize QLabel::sizeHint () const [virtual]
Reimplemented for internal reasons; the API is not affected.
Examples:
layout/layout.cpp
Reimplemented from QWidget.
QSizePolicy QLabel::sizePolicy () const [virtual]
Reimplemented for internal reasons; the API is not affected.
Reimplemented from QWidget.
QString QLabel::text () const
Returns the label text. If the content is a plain or a rich text,
this is the string that was passed to setText(). Otherwise, it is an
empty/null string.
See also setText(), setNum() and clear().
Qt::TextFormat QLabel::textFormat() const
Returns the current text format.
See also setTextFormat().
Search the documentation, FAQ, qt-interest archive and more (uses
www.trolltech.com):
This file is part of the Qt toolkit,
copyright © 1995-2005
Trolltech, all rights reserved.