1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
|
'\" t
.TH QTabWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
.\" license file included in the distribution for a complete license
.\" statement.
.\"
.ad l
.nh
.SH NAME
QTabWidget \- Stack of tabbed widgets
.SH SYNOPSIS
\fC#include <ntqtabwidget.h>\fR
.PP
Inherits QWidget.
.PP
.SS "Public Members"
.in +1c
.ti -1c
.BI "\fBQTabWidget\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
.br
.ti -1c
.BI "virtual void \fBaddTab\fR ( QWidget * child, const QString & label )"
.br
.ti -1c
.BI "virtual void \fBaddTab\fR ( QWidget * child, const QIconSet & iconset, const QString & label )"
.br
.ti -1c
.BI "virtual void \fBaddTab\fR ( QWidget * child, QTab * tab )"
.br
.ti -1c
.BI "virtual void \fBinsertTab\fR ( QWidget * child, const QString & label, int index = -1 )"
.br
.ti -1c
.BI "virtual void \fBinsertTab\fR ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 )"
.br
.ti -1c
.BI "virtual void \fBinsertTab\fR ( QWidget * child, QTab * tab, int index = -1 )"
.br
.ti -1c
.BI "void \fBchangeTab\fR ( QWidget * w, const QString & label )"
.br
.ti -1c
.BI "void \fBchangeTab\fR ( QWidget * w, const QIconSet & iconset, const QString & label )"
.br
.ti -1c
.BI "bool \fBisTabEnabled\fR ( QWidget * w ) const"
.br
.ti -1c
.BI "void \fBsetTabEnabled\fR ( QWidget * w, bool enable )"
.br
.ti -1c
.BI "void \fBsetCornerWidget\fR ( QWidget * w, Qt::Corner corner = Qt::TopRight )"
.br
.ti -1c
.BI "QWidget * \fBcornerWidget\fR ( Qt::Corner corner = Qt::TopRight ) const"
.br
.ti -1c
.BI "QString \fBtabLabel\fR ( QWidget * w ) const"
.br
.ti -1c
.BI "void \fBsetTabLabel\fR ( QWidget * w, const QString & l )"
.br
.ti -1c
.BI "QIconSet \fBtabIconSet\fR ( QWidget * w ) const"
.br
.ti -1c
.BI "void \fBsetTabIconSet\fR ( QWidget * w, const QIconSet & iconset )"
.br
.ti -1c
.BI "void \fBremoveTabToolTip\fR ( QWidget * w )"
.br
.ti -1c
.BI "void \fBsetTabToolTip\fR ( QWidget * w, const QString & tip )"
.br
.ti -1c
.BI "QString \fBtabToolTip\fR ( QWidget * w ) const"
.br
.ti -1c
.BI "QWidget * \fBcurrentPage\fR () const"
.br
.ti -1c
.BI "QWidget * \fBpage\fR ( int index ) const"
.br
.ti -1c
.BI "QString \fBlabel\fR ( int index ) const"
.br
.ti -1c
.BI "int \fBcurrentPageIndex\fR () const"
.br
.ti -1c
.BI "int \fBindexOf\fR ( QWidget * w ) const"
.br
.ti -1c
.BI "enum \fBTabPosition\fR { Top, Bottom }"
.br
.ti -1c
.BI "TabPosition \fBtabPosition\fR () const"
.br
.ti -1c
.BI "void \fBsetTabPosition\fR ( TabPosition )"
.br
.ti -1c
.BI "enum \fBTabShape\fR { Rounded, Triangular }"
.br
.ti -1c
.BI "TabShape \fBtabShape\fR () const"
.br
.ti -1c
.BI "void \fBsetTabShape\fR ( TabShape s )"
.br
.ti -1c
.BI "int \fBmargin\fR () const"
.br
.ti -1c
.BI "void \fBsetMargin\fR ( int )"
.br
.ti -1c
.BI "int \fBcount\fR () const"
.br
.in -1c
.SS "Public Slots"
.in +1c
.ti -1c
.BI "void \fBsetCurrentPage\fR ( int )"
.br
.ti -1c
.BI "virtual void \fBshowPage\fR ( QWidget * w )"
.br
.ti -1c
.BI "virtual void \fBremovePage\fR ( QWidget * w )"
.br
.in -1c
.SS "Signals"
.in +1c
.ti -1c
.BI "void \fBcurrentChanged\fR ( QWidget * )"
.br
.in -1c
.SS "Properties"
.in +1c
.ti -1c
.BI "bool \fBautoMask\fR - whether the tab widget is automatically masked \fI(read " "only" ")\fR"
.br
.ti -1c
.BI "int \fBcount\fR - the number of tabs in the tab bar \fI(read " "only" ")\fR"
.br
.ti -1c
.BI "int \fBcurrentPage\fR - the index position of the current tab page"
.br
.ti -1c
.BI "int \fBmargin\fR - the margin in this tab widget"
.br
.ti -1c
.BI "TabPosition \fBtabPosition\fR - the position of the tabs in this tab widget"
.br
.ti -1c
.BI "TabShape \fBtabShape\fR - the shape of the tabs in this tab widget"
.br
.in -1c
.SS "Protected Members"
.in +1c
.ti -1c
.BI "void \fBsetTabBar\fR ( QTabBar * tb )"
.br
.ti -1c
.BI "QTabBar * \fBtabBar\fR () const"
.br
.in -1c
.SH DESCRIPTION
The QTabWidget class provides a stack of tabbed widgets.
.PP
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+\fIletter\fR accelerator if it has one.
.PP
The normal way to use QTabWidget is to do the following in the constructor: <ol type=1>
.IP 1
Create a QTabWidget.
.IP 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.
.IP 3
Connect to the signals and slots.
.PP
The position of the tabs is set with setTabPosition(), their shape with setTabShape(), and their margin with setMargin().
.PP
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.
.PP
The signal currentChanged() is emitted when the user selects a page.
.PP
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.
.PP
You can change a tab's label and iconset using changeTab() or setTabLabel() and setTabIconSet(). A tab page can be removed with removePage().
.PP
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.
.PP
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.
.PP
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).
.PP
.ce 1
.B "[Image Omitted]"
.PP
.ce 1
.B "[Image Omitted]"
.PP
See also QTabDialog, QToolBox, Advanced Widgets, and Organizers.
.SS "Member Type Documentation"
.SH "QTabWidget::TabPosition"
This enum type defines where QTabWidget draws the tab row:
.TP
\fCQTabWidget::Top\fR - above the pages
.TP
\fCQTabWidget::Bottom\fR - below the pages
.SH "QTabWidget::TabShape"
This enum type defines the shape of the tabs:
.TP
\fCQTabWidget::Rounded\fR - rounded look (normal)
.TP
\fCQTabWidget::Triangular\fR - triangular look (very unusual, included for completeness)
.SH MEMBER FUNCTION DOCUMENTATION
.SH "QTabWidget::QTabWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
Constructs a tabbed widget called \fIname\fR with parent \fIparent\fR, and widget flags \fIf\fR.
.SH "void QTabWidget::addTab ( QWidget * child, const QString & label )\fC [virtual]\fR"
Adds another tab and page to the tab view.
.PP
The new page is \fIchild\fR; the tab's label is \fIlabel\fR. 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.
.PP
If the tab's \fIlabel\fR 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.
.PP
If you call addTab() after show() the screen will flicker and the user may be confused.
.PP
Adding the same child twice will have undefined behavior.
.PP
See also insertTab().
.PP
Examples:
.)l addressbook/centralwidget.cpp and themes/themes.cpp.
.SH "void QTabWidget::addTab ( QWidget * child, const QIconSet & iconset, const QString & label )\fC [virtual]\fR"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
Adds another tab and page to the tab view.
.PP
This function is the same as addTab(), but with an additional \fIiconset\fR.
.SH "void QTabWidget::addTab ( QWidget * child, QTab * tab )\fC [virtual]\fR"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
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 \fIchild\fR is the new page and \fItab\fR is the tab to put the \fIchild\fR on.
.SH "void QTabWidget::changeTab ( QWidget * w, const QString & label )"
Defines a new \fIlabel\fR for page \fIw\fR's tab.
.SH "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.
.PP
Defines a new \fIiconset\fR and a new \fIlabel\fR for page \fIw\fR's tab.
.SH "QWidget * QTabWidget::cornerWidget ( Qt::Corner corner = Qt::TopRight ) const"
Returns the widget shown in the \fIcorner\fR of the tab widget or 0.
.SH "int QTabWidget::count () const"
Returns the number of tabs in the tab bar. See the "count" property for details.
.SH "void QTabWidget::currentChanged ( QWidget * )\fC [signal]\fR"
This signal is emitted whenever the current page changes. The parameter is the new current page.
.PP
See also currentPage(), showPage(), and tabLabel().
.SH "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).
.SH "int QTabWidget::currentPageIndex () const"
Returns the index position of the current tab page. See the "currentPage" property for details.
.SH "int QTabWidget::indexOf ( QWidget * w ) const"
Returns the index position of page \fIw\fR, or -1 if the widget cannot be found.
.SH "void QTabWidget::insertTab ( QWidget * child, const QString & label, int index = -1 )\fC [virtual]\fR"
Inserts another tab and page to the tab view.
.PP
The new page is \fIchild\fR; the tab's label is \fIlabel\fR. 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.
.PP
If the tab's \fIlabel\fR 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.
.PP
If \fIindex\fR is not specified, the tab is simply appended. Otherwise it is inserted at the specified position.
.PP
If you call insertTab() after show(), the screen will flicker and the user may be confused.
.PP
See also addTab().
.SH "void QTabWidget::insertTab ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 )\fC [virtual]\fR"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
Inserts another tab and page to the tab view.
.PP
This function is the same as insertTab(), but with an additional \fIiconset\fR.
.SH "void QTabWidget::insertTab ( QWidget * child, QTab * tab, int index = -1 )\fC [virtual]\fR"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
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 \fIchild\fR is the new page, \fItab\fR is the tab to put the \fIchild\fR on and \fIindex\fR is the position in the tab bar that this page should occupy.
.SH "bool QTabWidget::isTabEnabled ( QWidget * w ) const"
Returns TRUE if the page \fIw\fR is enabled; otherwise returns FALSE.
.PP
See also setTabEnabled() and QWidget::enabled.
.SH "QString QTabWidget::label ( int index ) const"
Returns the label of the tab at index position \fIindex\fR or QString::null if the \fIindex\fR is out of range.
.SH "int QTabWidget::margin () const"
Returns the margin in this tab widget. See the "margin" property for details.
.SH "QWidget * QTabWidget::page ( int index ) const"
Returns the tab page at index position \fIindex\fR or 0 if the \fIindex\fR is out of range.
.SH "void QTabWidget::removePage ( QWidget * w )\fC [virtual slot]\fR"
Removes page \fIw\fR from this stack of widgets. Does not delete \fIw\fR.
.PP
See also addTab(), showPage(), and QWidgetStack::removeWidget().
.SH "void QTabWidget::removeTabToolTip ( QWidget * w )"
Removes the tab tool tip for page \fIw\fR. If the page does not have a tip, nothing happens.
.PP
See also setTabToolTip() and tabToolTip().
.SH "void QTabWidget::setCornerWidget ( QWidget * w, Qt::Corner corner = Qt::TopRight )"
Sets widget \fIw\fR to be the shown in the specified \fIcorner\fR of the tab widget.
.PP
Only the horizontal element of the \fIcorner\fR will be used.
.PP
See also cornerWidget() and tabPosition.
.SH "void QTabWidget::setCurrentPage ( int )\fC [slot]\fR"
Sets the index position of the current tab page. See the "currentPage" property for details.
.SH "void QTabWidget::setMargin ( int )"
Sets the margin in this tab widget. See the "margin" property for details.
.SH "void QTabWidget::setTabBar ( QTabBar * tb )\fC [protected]\fR"
Replaces the dialog's QTabBar heading with the tab bar \fItb\fR. Note that this must be called \fIbefore\fR any tabs have been added, or the behavior is undefined.
.PP
See also tabBar().
.SH "void QTabWidget::setTabEnabled ( QWidget * w, bool enable )"
If \fIenable\fR is TRUE, page \fIw\fR is enabled; otherwise page \fIw\fR is disabled. The page's tab is redrawn appropriately.
.PP
QTabWidget uses QWidget::setEnabled() internally, rather than keeping a separate flag.
.PP
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.
.PP
See also isTabEnabled() and QWidget::enabled.
.SH "void QTabWidget::setTabIconSet ( QWidget * w, const QIconSet & iconset )"
Sets the iconset for page \fIw\fR to \fIiconset\fR.
.SH "void QTabWidget::setTabLabel ( QWidget * w, const QString & l )"
Sets the tab label for page \fIw\fR to \fIl\fR
.SH "void QTabWidget::setTabPosition ( TabPosition )"
Sets the position of the tabs in this tab widget. See the "tabPosition" property for details.
.SH "void QTabWidget::setTabShape ( TabShape s )"
Sets the shape of the tabs in this tab widget to \fIs\fR. See the "tabShape" property for details.
.SH "void QTabWidget::setTabToolTip ( QWidget * w, const QString & tip )"
Sets the tab tool tip for page \fIw\fR to \fItip\fR.
.PP
See also removeTabToolTip() and tabToolTip().
.SH "void QTabWidget::showPage ( QWidget * w )\fC [virtual slot]\fR"
Ensures that page \fIw\fR is shown. This is useful mainly for accelerators.
.PP
\fBWarning:\fR Used carelessly, this function can easily surprise or confuse the user.
.PP
See also QTabBar::currentTab.
.SH "QTabBar * QTabWidget::tabBar () const\fC [protected]\fR"
Returns the current QTabBar.
.PP
See also setTabBar().
.SH "QIconSet QTabWidget::tabIconSet ( QWidget * w ) const"
Returns the iconset of page \fIw\fR or a null iconset if \fIw\fR is not a tab page or does not have an iconset.
.SH "QString QTabWidget::tabLabel ( QWidget * w ) const"
Returns the label text for the tab on page \fIw\fR.
.SH "TabPosition QTabWidget::tabPosition () const"
Returns the position of the tabs in this tab widget. See the "tabPosition" property for details.
.SH "TabShape QTabWidget::tabShape () const"
Returns the shape of the tabs in this tab widget. See the "tabShape" property for details.
.SH "QString QTabWidget::tabToolTip ( QWidget * w ) const"
Returns the tab tool tip for page \fIw\fR or QString::null if no tool tip has been set.
.PP
See also setTabToolTip() and removeTabToolTip().
.SS "Property Documentation"
.SH "bool autoMask"
This property holds whether the tab widget is automatically masked.
.PP
See also QWidget::autoMask.
.SH "int count"
This property holds the number of tabs in the tab bar.
.PP
Get this property's value with count().
.SH "int currentPage"
This property holds the index position of the current tab page.
.PP
Set this property's value with setCurrentPage() and get this property's value with currentPageIndex().
.PP
See also QTabBar::currentTab.
.SH "int margin"
This property holds the margin in this tab widget.
.PP
The margin is the distance between the innermost pixel of the frame and the outermost pixel of the pages.
.PP
Set this property's value with setMargin() and get this property's value with margin().
.SH "TabPosition tabPosition"
This property holds the position of the tabs in this tab widget.
.PP
Possible values for this property are QTabWidget::Top and QTabWidget::Bottom.
.PP
See also TabPosition.
.PP
Set this property's value with setTabPosition() and get this property's value with tabPosition().
.SH "TabShape tabShape"
This property holds the shape of the tabs in this tab widget.
.PP
Possible values for this property are QTabWidget::Rounded (default) or QTabWidget::Triangular.
.PP
See also TabShape.
.PP
Set this property's value with setTabShape() and get this property's value with tabShape().
.SH "SEE ALSO"
.BR http://doc.trolltech.com/ntqtabwidget.html
.BR http://www.trolltech.com/faq/tech.html
.SH COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
.SH AUTHOR
Generated automatically from the source code.
.SH BUGS
If you find a bug in Qt, please report it as described in
.BR http://doc.trolltech.com/bughowto.html .
Good bug reports help us to help you. Thank you.
.P
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.
.P
If you find errors in this manual page, please report them to
.BR qt-bugs@trolltech.com .
Please include the name of the manual page (tqtabwidget.3qt) and the Qt
version (3.3.8).
|