QTabWidget(3qt)QTabWidget(3qt)NAME
QTabWidget - Stack of tabbed widgets
SYNOPSIS
#include <qtabwidget.h>
Inherits QWidget.
Public Members
QTabWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0
)
virtual void addTab ( QWidget * child, const QString & label )
virtual void addTab ( QWidget * child, const QIconSet & iconset, const
QString & label )
virtual void addTab ( QWidget * child, QTab * tab )
virtual void insertTab ( QWidget * child, const QString & label, int
index = -1 )
virtual void insertTab ( QWidget * child, const QIconSet & iconset,
const QString & label, int index = -1 )
virtual void insertTab ( QWidget * child, QTab * tab, int index = -1 )
void changeTab ( QWidget * w, const QString & label )
void changeTab ( QWidget * w, const QIconSet & iconset, const QString &
label )
bool isTabEnabled ( QWidget * w ) const
void setTabEnabled ( QWidget * w, bool enable )
void setCornerWidget ( QWidget * w, Qt::Corner corner = Qt::TopRight )
QWidget * cornerWidget ( Qt::Corner corner = Qt::TopRight ) const
QString tabLabel ( QWidget * w ) const
void setTabLabel ( QWidget * w, const QString & l )
QIconSet tabIconSet ( QWidget * w ) const
void setTabIconSet ( QWidget * w, const QIconSet & iconset )
void removeTabToolTip ( QWidget * w )
void setTabToolTip ( QWidget * w, const QString & tip )
QString tabToolTip ( QWidget * w ) const
QWidget * currentPage () const
QWidget * page ( int index ) const
QString label ( int index ) const
int currentPageIndex () const
int indexOf ( QWidget * w ) const
enum TabPosition { Top, Bottom }
TabPosition tabPosition () const
void setTabPosition ( TabPosition )
enum TabShape { Rounded, Triangular }
TabShape tabShape () const
void setTabShape ( TabShape s )
int margin () const
void setMargin ( int )
int count () const
Public Slots
void setCurrentPage ( int )
virtual void showPage ( QWidget * w )
virtual void removePage ( QWidget * w )
Signals
void currentChanged ( QWidget * )
Properties
bool autoMask - whether the tab widget is automatically masked (read
only)
int count - the number of tabs in the tab bar (read only)
int currentPage - the index position of the current tab page
int margin - the margin in this tab widget
TabPosition tabPosition - the position of the tabs in this tab widget
TabShape tabShape - the shape of the tabs in this tab widget
Protected Members
void setTabBar ( QTabBar * tb )
QTabBar * tabBar () const
DESCRIPTION
The QTabWidget class provides a stack of tabbed widgets.
A tab widget provides a tab bar of tabs and a `page area' below (or
above, see TabPosition) the tabs. Each tab is associated with a
different widget (called a `page'). Only the current tab's page is
shown in the page area; all the other tabs' pages are hidden. The user
can show a different page by clicking on its tab or by pressing its
Alt+letter accelerator if it has one.
The normal way to use QTabWidget is to do the following in the
constructor: <ol type=1>
1 Create a QTabWidget.
2 Create a QWidget for each of the pages in the tab dialog, insert
children into it, set up geometry management for it and use
addTab() (or insertTab()) to set up a tab and keyboard
accelerator for it.
3 Connect to the signals and slots.
The position of the tabs is set with setTabPosition(), their shape with
setTabShape(), and their margin with setMargin().
If you don't call addTab() and the QTabWidget is already visible, then
the page you have created will not be visible. Don't confuse the object
name you supply to the QWidget constructor and the tab label you supply
to addTab(). addTab() takes a name which indicates an accelerator and
is meaningful and descriptive to the user, whereas the widget name is
used primarily for debugging.
The signal currentChanged() is emitted when the user selects a page.
The current page is available as an index position with
currentPageIndex() or as a wiget pointer with currentPage(). You can
retrieve a pointer to a page with a given index using page(), and can
find the index position of a page with indexOf(). Use setCurrentPage()
to show a particular page by index, or showPage() to show a page by
widget pointer.
You can change a tab's label and iconset using changeTab() or
setTabLabel() and setTabIconSet(). A tab page can be removed with
removePage().
Each tab is either enabled or disabled at any given time (see
setTabEnabled()). If a tab is enabled, the tab text is drawn normally
and the user can select that tab. If it is disabled, the tab is drawn
in a different way and the user cannot select that tab. Note that even
if a tab is disabled, the page can still be visible, for example if all
of the tabs happen to be disabled.
Although tab widgets can be a very good way to split up a complex
dialog, it's also very easy to get into a mess. See QTabDialog for some
design hints. An alternative is to use a QWidgetStack for which you
provide some means of navigating between pages, for example, a QToolBar
or a QListBox.
Most of the functionality in QTabWidget is provided by a QTabBar (at
the top, providing the tabs) and a QWidgetStack (most of the area,
organizing the individual pages).
[Image Omitted]
[Image Omitted]
See also QTabDialog, QToolBox, Advanced Widgets, and Organizers.
Member Type Documentation
QTabWidget::TabPosition
This enum type defines where QTabWidget draws the tab row:
QTabWidget::Top - above the pages
QTabWidget::Bottom - below the pages
QTabWidget::TabShape
This enum type defines the shape of the tabs:
QTabWidget::Rounded - rounded look (normal)
QTabWidget::Triangular - triangular look (very unusual, included for
completeness)
MEMBER FUNCTION DOCUMENTATIONQTabWidget::QTabWidget ( QWidget * parent = 0, const char * name = 0, WFlags f
= 0 )
Constructs a tabbed widget called name with parent parent, and widget
flags f.
void QTabWidget::addTab ( QWidget * child, const QString & label ) [virtual]
Adds another tab and page to the tab view.
The new page is child; the tab's label is label. Note the difference
between the widget name (which you supply to widget constructors and to
setTabEnabled(), for example) and the tab label. The name is internal
to the program and invariant, whereas the label is shown on-screen and
may vary according to language and other factors.
If the tab's label contains an ampersand, the letter following the
ampersand is used as an accelerator for the tab, e.g. if the label is
"Bro&wse" then Alt+W becomes an accelerator which will move the focus
to this tab.
If you call addTab() after show() the screen will flicker and the user
may be confused.
Adding the same child twice will have undefined behavior.
See also insertTab().
Examples:
void QTabWidget::addTab ( QWidget * child, const QIconSet & iconset, const
QString & label ) [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Adds another tab and page to the tab view.
This function is the same as addTab(), but with an additional iconset.
void QTabWidget::addTab ( QWidget * child, QTab * tab ) [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
This is a low-level function for adding tabs. It is useful if you are
using setTabBar() to set a QTabBar subclass with an overridden
QTabBar::paint() function for a subclass of QTab. The child is the new
page and tab is the tab to put the child on.
void QTabWidget::changeTab ( QWidget * w, const QString & label )
Defines a new label for page w's tab.
void QTabWidget::changeTab ( QWidget * w, const QIconSet & iconset, const
QString & label )
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Defines a new iconset and a new label for page w's tab.
QWidget * QTabWidget::cornerWidget ( Qt::Corner corner = Qt::TopRight ) const
Returns the widget shown in the corner of the tab widget or 0.
int QTabWidget::count () const
Returns the number of tabs in the tab bar. See the "count" property for
details.
void QTabWidget::currentChanged ( QWidget * ) [signal]
This signal is emitted whenever the current page changes. The parameter
is the new current page.
See also currentPage(), showPage(), and tabLabel().
QWidget * QTabWidget::currentPage () const
Returns a pointer to the page currently being displayed by the tab
dialog. The tab dialog does its best to make sure that this value is
never 0 (but if you try hard enough, it can be).
int QTabWidget::currentPageIndex () const
Returns the index position of the current tab page. See the
"currentPage" property for details.
int QTabWidget::indexOf ( QWidget * w ) const
Returns the index position of page w, or -1 if the widget cannot be
found.
void QTabWidget::insertTab ( QWidget * child, const QString & label, int index
= -1 ) [virtual]
Inserts another tab and page to the tab view.
The new page is child; the tab's label is label. Note the difference
between the widget name (which you supply to widget constructors and to
setTabEnabled(), for example) and the tab label. The name is internal
to the program and invariant, whereas the label is shown on-screen and
may vary according to language and other factors.
If the tab's label contains an ampersand, the letter following the
ampersand is used as an accelerator for the tab, e.g. if the label is
"Bro&wse" then Alt+W becomes an accelerator which will move the focus
to this tab.
If index is not specified, the tab is simply appended. Otherwise it is
inserted at the specified position.
If you call insertTab() after show(), the screen will flicker and the
user may be confused.
See also addTab().
void QTabWidget::insertTab ( QWidget * child, const QIconSet & iconset, const
QString & label, int index = -1 ) [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Inserts another tab and page to the tab view.
This function is the same as insertTab(), but with an additional
iconset.
void QTabWidget::insertTab ( QWidget * child, QTab * tab, int index = -1 )
[virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
This is a lower-level method for inserting tabs, similar to the other
insertTab() method. It is useful if you are using setTabBar() to set a
QTabBar subclass with an overridden QTabBar::paint() function for a
subclass of QTab. The child is the new page, tab is the tab to put the
child on and index is the position in the tab bar that this page should
occupy.
bool QTabWidget::isTabEnabled ( QWidget * w ) const
Returns TRUE if the page w is enabled; otherwise returns FALSE.
See also setTabEnabled() and QWidget::enabled.
QString QTabWidget::label ( int index ) const
Returns the label of the tab at index position index or QString::null
if the index is out of range.
int QTabWidget::margin () const
Returns the margin in this tab widget. See the "margin" property for
details.
QWidget * QTabWidget::page ( int index ) const
Returns the tab page at index position index or 0 if the index is out
of range.
void QTabWidget::removePage ( QWidget * w ) [virtual slot]
Removes page w from this stack of widgets. Does not delete w.
See also addTab(), showPage(), and QWidgetStack::removeWidget().
void QTabWidget::removeTabToolTip ( QWidget * w )
Removes the tab tool tip for page w. If the page does not have a tip,
nothing happens.
See also setTabToolTip() and tabToolTip().
void QTabWidget::setCornerWidget ( QWidget * w, Qt::Corner corner =
Qt::TopRight )
Sets widget w to be the shown in the specified corner of the tab
widget.
Only the horizontal element of the corner will be used.
See also cornerWidget() and tabPosition.
void QTabWidget::setCurrentPage ( int ) [slot]
Sets the index position of the current tab page. See the "currentPage"
property for details.
void QTabWidget::setMargin ( int )
Sets the margin in this tab widget. See the "margin" property for
details.
void QTabWidget::setTabBar ( QTabBar * tb ) [protected]
Replaces the dialog's QTabBar heading with the tab bar tb. Note that
this must be called before any tabs have been added, or the behavior is
undefined.
See also tabBar().
void QTabWidget::setTabEnabled ( QWidget * w, bool enable )
If enable is TRUE, page w is enabled; otherwise page w is disabled. The
page's tab is redrawn appropriately.
QTabWidget uses QWidget::setEnabled() internally, rather than keeping a
separate flag.
Note that even a disabled tab/page may be visible. If the page is
visible already, QTabWidget will not hide it; if all the pages are
disabled, QTabWidget will show one of them.
See also isTabEnabled() and QWidget::enabled.
void QTabWidget::setTabIconSet ( QWidget * w, const QIconSet & iconset )
Sets the iconset for page w to iconset.
void QTabWidget::setTabLabel ( QWidget * w, const QString & l )
Sets the tab label for page w to l
void QTabWidget::setTabPosition ( TabPosition )
Sets the position of the tabs in this tab widget. See the "tabPosition"
property for details.
void QTabWidget::setTabShape ( TabShape s )
Sets the shape of the tabs in this tab widget to s. See the "tabShape"
property for details.
void QTabWidget::setTabToolTip ( QWidget * w, const QString & tip )
Sets the tab tool tip for page w to tip.
See also removeTabToolTip() and tabToolTip().
void QTabWidget::showPage ( QWidget * w ) [virtual slot]
Ensures that page w is shown. This is useful mainly for accelerators.
Warning: Used carelessly, this function can easily surprise or confuse
the user.
See also QTabBar::currentTab.
QTabBar * QTabWidget::tabBar () const [protected]
Returns the current QTabBar.
See also setTabBar().
QIconSet QTabWidget::tabIconSet ( QWidget * w ) const
Returns the iconset of page w or a null iconset if w is not a tab page
or does not have an iconset.
QString QTabWidget::tabLabel ( QWidget * w ) const
Returns the label text for the tab on page w.
TabPosition QTabWidget::tabPosition () const
Returns the position of the tabs in this tab widget. See the
"tabPosition" property for details.
TabShape QTabWidget::tabShape () const
Returns the shape of the tabs in this tab widget. See the "tabShape"
property for details.
QString QTabWidget::tabToolTip ( QWidget * w ) const
Returns the tab tool tip for page w or QString::null if no tool tip has
been set.
See also setTabToolTip() and removeTabToolTip().
Property Documentation
bool autoMask
This property holds whether the tab widget is automatically masked.
See also QWidget::autoMask.
int count
This property holds the number of tabs in the tab bar.
Get this property's value with count().
int currentPage
This property holds the index position of the current tab page.
Set this property's value with setCurrentPage() and get this property's
value with currentPageIndex().
See also QTabBar::currentTab.
int margin
This property holds the margin in this tab widget.
The margin is the distance between the innermost pixel of the frame and
the outermost pixel of the pages.
Set this property's value with setMargin() and get this property's
value with margin().
TabPosition tabPosition
This property holds the position of the tabs in this tab widget.
Possible values for this property are QTabWidget::Top and
QTabWidget::Bottom.
See also TabPosition.
Set this property's value with setTabPosition() and get this property's
value with tabPosition().
TabShape tabShape
This property holds the shape of the tabs in this tab widget.
Possible values for this property are QTabWidget::Rounded (default) or
QTabWidget::Triangular.
See also TabShape.
Set this property's value with setTabShape() and get this property's
value with tabShape().
SEE ALSO
http://doc.trolltech.com/qtabwidget.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html. Good bug reports help us to
help you. Thank you.
The definitive Qt documentation is provided in HTML format; it is
located at $QTDIR/doc/html and can be read using Qt Assistant or with a
web browser. This man page is provided as a convenience for those users
who prefer man pages, although this format is not officially supported
by Trolltech.
If you find errors in this manual page, please report them to qt-
bugs@trolltech.com. Please include the name of the manual page
(qtabwidget.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QTabWidget(3qt)