Classes - Annotated - Tree - Functions - Home - Structure

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

Properties

Protected Members


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:

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 an 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.


Member Function Documentation

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 indent.

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 text, setAlignment(), setFrameStyle() and indent.

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 text, setBuddy(), setAlignment(), setFrameStyle() and indent.

QLabel::~QLabel ()

Destroys the label.

int QLabel::alignment () const

Returns the alignment of the label contents. See the "alignment" property for details.

bool QLabel::autoResize () const

This function is obsolete. It is provided to keep old source working. 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 ) [protected]

Draws the label contents mask using the painter p. Used only in transparent mode.

See also QWidget::autoMask.

bool QLabel::hasScaledContents () const

Returns TRUE if the label will scale its contents to fill all available space; otherwise returns FALSE. See the "scaledContents" property for details.

int QLabel::indent () const

Returns the indent of the label in pixels. See the "indent" property for details.

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

Returns the label contents pixmap. See the "pixmap" property for details.

void QLabel::setAutoResize ( bool enable ) [virtual]

This function is obsolete. It is provided to keep old source working. 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 available only 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(), text, QAccel and setAlignment().

Example: addressbook/centralwidget.cpp.

void QLabel::setFont ( const QFont & f ) [virtual]

Sets the font used on the QLabel to the font f.

Reimplemented from QWidget.

void QLabel::setIndent ( int )

Sets the indent of the label in pixels. See the "indent" property for details.

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 ( 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 text, QString::setNum() and setBuddy().

void QLabel::setNum ( double num ) [virtual slot]

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

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 text, QString::setNum() and setBuddy().

void QLabel::setPicture ( const QPicture & picture ) [virtual slot]

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

The buddy accelerator, if any, is disabled.

See also picture() and setBuddy().

void QLabel::setPixmap ( const QPixmap & ) [virtual slot]

Sets the label contents pixmap. See the "pixmap" property for details.

void QLabel::setScaledContents ( bool )

Sets whether the label will scale its contents to fill all available space. See the "scaledContents" property for details.

void QLabel::setText ( const QString & ) [virtual slot]

Sets the label text. See the "text" property for details.

void QLabel::setTextFormat ( TextFormat )

Sets the current text format. See the "textFormat" property for details.

QString QLabel::text () const

Returns the label text. See the "text" property for details.

TextFormat QLabel::textFormat () const

Returns the current text format. See the "textFormat" property for details.


Property Documentation

Alignment alignment

This property holds the alignment of the label contents.

The alignment is a bitwise OR of Qt::AlignmentFlags values. The WordBreak, ExpandTabs, SingleLine and ShowPrefix flags apply only if the label contains a plain text; otherwise they are ignored. The DontClip flag is always ignored.

If the label has a buddy, the ShowPrefix flag is forced to TRUE.

The default alignment is AlignAuto | AlignVCenter | ExpandTabs if the label doesn't have a buddy and AlignAuto | AlignVCenter | ExpandTabs | ShowPrefix if the label has a buddy.

Set this property's value with setAlignment() and get this property's value with alignment().

See also Qt::AlignmentFlags, alignment, setBuddy() and text.

int indent

This property holds the indent of the label in 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 the 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().

Set this property's value with setIndent() and get this property's value with indent().

See also alignment, frameWidth and font.

QPixmap pixmap

This property holds the label contents pixmap.

If no pixmap has been set this will return an invalid pixmap.

Setting the pixmap clears any previous content, and resizes the label if autoResize() is TRUE. The buddy accelerator, if any, is disabled.

Set this property's value with setPixmap() and get this property's value with pixmap().

bool scaledContents

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 available space.

Set this property's value with setScaledContents() and get this property's value with hasScaledContents().

See also scaledContents.

QString text

This property holds the label text.

If no text has been set this will return an empty string. Setting the text clears any previous content, unless they are the same.

The 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 the text set.

If the 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, when necessary.

Set this property's value with setText() and get this property's value with text().

See also text, textFormat, setBuddy() and alignment.

TextFormat textFormat

This property holds the current text format.

See the Qt::TextFormat enum for an explanation of the possible options.

The default format is AutoText.

Set this property's value with setTextFormat() and get this property's value with textFormat().

See also text.


Search the documentation, FAQ, qt-interest archive and more (uses www.trolltech.com):


This file is part of the Qt toolkit, copyright © 1995-2001 Trolltech, all rights reserved.


Copyright © 2001 TrolltechTrademarks
Qt version 3.0.0-beta1-beta1