Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions

TQLabel Class Reference

The TQLabel widget provides a text or image display. More...

#include <qlabel.h>

Inherits TQFrame.

List of all member functions.

Public Members

Public Slots

Properties

Protected Members


Detailed Description

The TQLabel widget provides a text or image display.

TQLabel 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 accelerator key for another widget.

A TQLabel can contain any of the following content types:

Content Setting
Plain text Pass a TQString to setText().
Rich text Pass a TQString that contains rich text to setText().
A pixmap Pass a TQPixmap to setPixmap().
A movie Pass a TQMovie 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().

When the content is changed using any of these functions, any previous content is cleared.

The look of a TQLabel can be tuned in several ways. All the settings of TQFrame are available for specifying a widget frame. The positioning of the content within the TQLabel 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):

    TQLabel *label = new TQLabel( this );
    label->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
    label->setText( "first line\nsecond line" );
    label->setAlignment( AlignBottom | AlignRight );
    

A TQLabel is often used as a label for an interactive widget. For this use TQLabel provides a useful mechanism for adding an accelerator key (see TQAccel) that will set the keyboard focus to the other widget (called the TQLabel's "buddy"). For example:

    TQLineEdit* phoneEdit = new TQLineEdit( this, "phoneEdit" );
    TQLabel* phoneLabel = new TQLabel( phoneEdit, "&Phone:", this, "phoneLabel" );
    

In this example, keyboard focus is transferred to the label's buddy (the TQLineEdit) when the user presses Alt+P. You can also use the setBuddy() function to accomplish the same thing.

See also TQLineEdit, TQTextEdit, TQPixmap, TQMovie, GUI Design Handbook: Label, Basic Widgets, and Text Related Classes.


Member Function Documentation

TQLabel::TQLabel ( TQWidget * parent, const char * name = 0, WFlags f = 0 )

Constructs an empty label.

The parent, name and widget flag f, arguments are passed to the TQFrame constructor.

See also alignment, setFrameStyle(), and indent.

TQLabel::TQLabel ( const TQString & text, TQWidget * parent, const char * name = 0, WFlags f = 0 )

Constructs a label that displays the text, text.

The parent, name and widget flag f, arguments are passed to the TQFrame constructor.

See also text, alignment, setFrameStyle(), and indent.

TQLabel::TQLabel ( TQWidget * buddy, const TQString & text, TQWidget * parent, const char * name = 0, WFlags f = 0 )

Constructs a label that displays the text text. The label has a buddy widget, buddy.

If the text contains an underlined letter (a letter preceded by an ampersand, &), and the text is in plain text format, when the user presses Alt+ the underlined letter, focus is passed to the buddy widget.

The parent, name and widget flag, f, arguments are passed to the TQFrame constructor.

See also text, setBuddy(), alignment, setFrameStyle(), and indent.

TQLabel::~TQLabel ()

Destroys the label.

int TQLabel::alignment () const

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

bool TQLabel::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().

TQWidget * TQLabel::buddy () const

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

See also setBuddy().

void TQLabel::clear () [slot]

Clears any label contents. Equivalent to setText( "" ).

void TQLabel::drawContents ( TQPainter * p ) [virtual protected]

Draws the label contents using the painter p.

Reimplemented from TQFrame.

bool TQLabel::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 TQLabel::indent () const

Returns the label's text indent in pixels. See the "indent" property for details.

TQMovie * TQLabel::movie () const

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

See also setMovie().

TQPicture * TQLabel::picture () const

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

TQPixmap * TQLabel::pixmap () const

Returns the label's pixmap. See the "pixmap" property for details.

void TQLabel::setAlignment ( int ) [virtual]

Sets the alignment of the label's contents. See the "alignment" property for details.

void TQLabel::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 TQLabel widgets that are not managed by a TQLayout (e.g., top-level widgets).

Auto-resizing is disabled by default.

See also autoResize(), adjustSize(), and sizeHint.

void TQLabel::setBuddy ( TQWidget * buddy ) [virtual]

Sets this label's buddy 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 TQLabels that contain plain text in which one letter is prefixed with an ampersand, &. This letter 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"), for example:

    TQLineEdit *nameEd  = new TQLineEdit( this );
    TQLabel    *nameLb  = new TQLabel( "&Name:", this );
    nameLb->setBuddy( nameEd );
    TQLineEdit *phoneEd = new TQLineEdit( this );
    TQLabel    *phoneLb = new TQLabel( "&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, TQAccel, and alignment.

Examples: addressbook/centralwidget.cpp, chart/optionsform.cpp, and regexptester/regexptester.cpp.

void TQLabel::setFont ( const TQFont & f ) [virtual]

Sets the font used on the TQLabel to font f.

Example: menu/menu.cpp.

Reimplemented from TQWidget.

void TQLabel::setIndent ( int )

Sets the label's text indent in pixels. See the "indent" property for details.

void TQLabel::setMovie ( const TQMovie & 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 TQLabel::setNum ( int num ) [virtual slot]

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 accelerator, if any, is disabled.

The label resizes itself if auto-resizing is enabled.

See also text, TQString::setNum(), and setBuddy().

void TQLabel::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 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 accelerator, if any, is disabled.

The label resizes itself if auto-resizing is enabled.

See also text, TQString::setNum(), and setBuddy().

void TQLabel::setPicture ( const TQPicture & 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 TQLabel::setPixmap ( const TQPixmap & ) [virtual slot]

Sets the label's pixmap. See the "pixmap" property for details.

void TQLabel::setScaledContents ( bool )

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

void TQLabel::setText ( const TQString & ) [virtual slot]

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

void TQLabel::setTextFormat ( TextFormat )

Sets the label's text format. See the "textFormat" property for details.

TQString TQLabel::text () const

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

TextFormat TQLabel::textFormat () const

Returns the label's text format. See the "textFormat" property for details.


Property Documentation

Alignment alignment

This property holds the alignment of the label's contents.

The alignment is a bitwise OR of TQt::AlignmentFlags and TQt::TextFlags values. The ExpandTabs, SingleLine and ShowPrefix flags apply only if the label contains plain text; otherwise they are ignored. The DontClip flag is always ignored. WordBreak applies to both rich text and plain text labels. The BreakAnywhere flag is not supported in TQLabel.

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. If the label contains rich text, additionally WordBreak is turned on.

See also TQt::AlignmentFlags, setBuddy(), and text.

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

BackgroundMode backgroundMode

This property holds the label's background mode.

Get this property with backgroundMode().

See also TQWidget::backgroundMode.

int indent

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() 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().

See also alignment, frameWidth, and font.

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

TQPixmap pixmap

This property holds the label's 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 TQLabel::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 the available space.

This property's default is FALSE.

See also scaledContents.

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

TQString text

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, 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. TQLabel 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, i.e. those 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 TQTextEdit in read-only mode instead. TQTextEdit will flicker less on resize and can also provide a scrollbar when necessary.

See also textFormat, setBuddy(), and alignment.

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

TextFormat textFormat

This property holds the label's text format.

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

The default format is AutoText.

See also text.

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


This file is part of the TQt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.


Copyright © 2007 TrolltechTrademarks
TQt 3.3.8