com.trolltech.qt.gui
Class QStackedWidget

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.core.QObject
                  extended by com.trolltech.qt.gui.QWidget
                      extended by com.trolltech.qt.gui.QFrame
                          extended by com.trolltech.qt.gui.QStackedWidget
All Implemented Interfaces:
QPaintDeviceInterface, QtJambiInterface

public class QStackedWidget
extends QFrame

The QStackedWidget class provides a stack of widgets where only one widget is visible at a time. QStackedWidget can be used to create a user interface similar to the one provided by QTabWidget. It is a convenience layout widget built on top of the QStackedLayout class.

Like QStackedLayout, QStackedWidget can be constructed and populated with a number of child widgets ("pages"):

        QWidget firstPageWidget = new QWidget();
        QWidget secondPageWidget = new QWidget();
        QWidget thirdPageWidget = new QWidget();

        QStackedWidget stackedWidget = new QStackedWidget();
        stackedWidget.addWidget(firstPageWidget);
        stackedWidget.addWidget(secondPageWidget);
        stackedWidget.addWidget(thirdPageWidget);


        QVBoxLayout layout = new QVBoxLayout();

        layout.addWidget(stackedWidget);
        setLayout(layout);
QStackedWidget provides no intrinsic means for the user to switch page. This is typically done through a QComboBox or a QListWidget that stores the titles of the QStackedWidget's pages. For example:
        QComboBox pageComboBox = new QComboBox();
        pageComboBox.addItem(tr("Page 1"));
        pageComboBox.addItem(tr("Page 2"));
        pageComboBox.addItem(tr("Page 3"));
        pageComboBox.activated.connect(stackedWidget, "setCurrentIndex(int)");
When populating a stacked widget, the widgets are added to an internal list. The indexOf() function returns the index of a widget in that list. The widgets can either be added to the end of the list using the addWidget() function, or inserted at a given index using the insertWidget() function. The removeWidget() function removes a widget from the stacked widget. The number of widgets contained in the stacked widget, can be obtained using the count() function.

The widget() function returns the widget at a given index position. The index of the widget that is shown on screen is given by currentIndex() and can be changed using setCurrentIndex(). In a similar manner, the currently shown widget can be retrieved using the currentWidget() function, and altered using the setCurrentWidget() function.

Whenever the current widget in the stacked widget changes or a widget is removed from the stacked widget, the currentChanged() and widgetRemoved() signals are emitted respectively.

See also:
QStackedLayout, QTabWidget, and Config Dialog Example.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QFrame
QFrame.Shadow, QFrame.Shape, QFrame.StyleMask
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
QWidget.RenderFlag, QWidget.RenderFlags
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 QSignalEmitter.Signal1 currentChanged
          This signal takes 1 generic argument(s).
 QSignalEmitter.Signal1 widgetRemoved
          This signal takes 1 generic argument(s).
 
Fields inherited from class com.trolltech.qt.gui.QWidget
customContextMenuRequested
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QStackedWidget()
          Constructs a QStackedWidget with the given parent.
QStackedWidget(QWidget parent)
          Constructs a QStackedWidget with the given parent.
 
Method Summary
 int addWidget(QWidget w)
          Appends the given widget to the QStackedWidget and returns the index position.
 int count()
          This property holds the number of widgets contained by this stacked widget.
 int currentIndex()
          This property holds the index position of the widget that is visible.
 QWidget currentWidget()
          Returns the current widget, or 0 if there are no child widgets.
 int indexOf(QWidget arg__1)
          Returns the index of the given widget, or -1 if the given widget is not a child of the QStackedWidget.
 int insertWidget(int index, QWidget w)
          Inserts the given widget at the given index in the QStackedWidget.
 void removeWidget(QWidget w)
          Removes the given widget from the QStackedWidget.
 void setCurrentIndex(int index)
          This property holds the index position of the widget that is visible.
 void setCurrentWidget(QWidget w)
          Sets the current widget to be the specified widget.
 QWidget widget(int arg__1)
          Returns the widget at the given index, or 0 if there is no such widget.
 
Methods inherited from class com.trolltech.qt.gui.QFrame
frameRect, frameShadow, frameShape, frameStyle, frameWidth, lineWidth, midLineWidth, setFrameRect, setFrameShadow, setFrameShape, setFrameStyle, setLineWidth, setMidLineWidth
 
Methods inherited from class com.trolltech.qt.gui.QWidget
acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, graphicsProxyWidget, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, overrideWindowState, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y
 
Methods inherited from class com.trolltech.qt.core.QObject
childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Field Detail

currentChanged

public final QSignalEmitter.Signal1 currentChanged

This signal takes 1 generic argument(s). We list their type and the name they go by in the description of this signal. <java.lang.Integer(named: index)>:

This signal is emitted whenever the current widget changes.

The parameter holds the index of the new current widget, or -1 if there isn't a new one (for example, if there are no widgets in the QStackedWidget).

See also:
currentWidget(), and setCurrentWidget().


widgetRemoved

public final QSignalEmitter.Signal1 widgetRemoved

This signal takes 1 generic argument(s). We list their type and the name they go by in the description of this signal. <java.lang.Integer(named: index)>:

This signal is emitted whenever a widget is removed. The widget's index is passed as parameter.

See also:
removeWidget().

Constructor Detail

QStackedWidget

public QStackedWidget()
Constructs a QStackedWidget with the given parent.

See also:
addWidget(), and insertWidget().


QStackedWidget

public QStackedWidget(QWidget parent)
Constructs a QStackedWidget with the given parent.

See also:
addWidget(), and insertWidget().

Method Detail

addWidget

public final int addWidget(QWidget w)
Appends the given widget to the QStackedWidget and returns the index position. Ownership of widget is passed on to the QStackedWidget.

If the QStackedWidget is empty before this function is called, widget becomes the current widget.

See also:
insertWidget(), removeWidget(), and setCurrentWidget().


count

public final int count()
This property holds the number of widgets contained by this stacked widget. By default, this property contains a value of 0.

See also:
currentIndex(), and widget().


currentIndex

public final int currentIndex()
This property holds the index position of the widget that is visible. The current index is -1 if there is no current widget.

By default, this property contains a value of -1 because the stack is initially empty.

See also:
currentWidget(), and indexOf().


currentWidget

public final QWidget currentWidget()
Returns the current widget, or 0 if there are no child widgets.

See also:
currentIndex(), and setCurrentWidget().


indexOf

public final int indexOf(QWidget arg__1)
Returns the index of the given widget, or -1 if the given widget is not a child of the QStackedWidget.

See also:
currentIndex(), and widget().


insertWidget

public final int insertWidget(int index,
                              QWidget w)
Inserts the given widget at the given index in the QStackedWidget. Ownership of widget is passed on to the QStackedWidget. If index is out of range, the widget is appended (in which case it is the actual index of the widget that is returned).

If the QStackedWidget was empty before this function is called, the given widget becomes the current widget.

Inserting a new widget at an index less than or equal to the current index will increment the current index, but keep the current widget.

See also:
addWidget(), removeWidget(), and setCurrentWidget().


removeWidget

public final void removeWidget(QWidget w)
Removes the given widget from the QStackedWidget. The widget is not deleted.

See also:
addWidget(), insertWidget(), and currentWidget().


setCurrentIndex

public final void setCurrentIndex(int index)
This property holds the index position of the widget that is visible. The current index is -1 if there is no current widget.

By default, this property contains a value of -1 because the stack is initially empty.

See also:
currentWidget(), and indexOf().


setCurrentWidget

public final void setCurrentWidget(QWidget w)
Sets the current widget to be the specified widget. The new current widget must already be contained in this stacked widget.

See also:
currentWidget(), and setCurrentIndex().


widget

public final QWidget widget(int arg__1)
Returns the widget at the given index, or 0 if there is no such widget.

See also:
currentWidget(), and indexOf().