Qt 4.8
|
The QStackedLayout class provides a stack of widgets where only one widget is visible at a time. More...
#include <qstackedlayout.h>
Public Types | |
enum | StackingMode { StackOne, StackAll } |
This enum specifies how the layout handles its child widgets regarding their visibility. More... | |
Public Types inherited from QLayout | |
enum | SizeConstraint { SetDefaultConstraint, SetNoConstraint, SetMinimumSize, SetFixedSize, SetMaximumSize, SetMinAndMaxSize } |
The possible values are: More... | |
Public Slots | |
void | setCurrentIndex (int index) |
void | setCurrentWidget (QWidget *w) |
Sets the current widget to be the specified widget. More... | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Signals | |
void | currentChanged (int index) |
This signal is emitted whenever the current widget in the layout changes. More... | |
void | widgetRemoved (int index) |
This signal is emitted whenever a widget is removed from the layout. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
void | addItem (QLayoutItem *item) |
Reimplemented Function More... | |
int | addWidget (QWidget *w) |
Adds the given widget to the end of this layout and returns the index position of the widget. More... | |
int | count () const |
the number of widgets contained in the layout More... | |
int | currentIndex () const |
QWidget * | currentWidget () const |
Returns the current widget, or 0 if there are no widgets in this layout. More... | |
int | insertWidget (int index, QWidget *w) |
Inserts the given widget at the given index in this QStackedLayout. More... | |
QLayoutItem * | itemAt (int) const |
Reimplemented Function More... | |
QSize | minimumSize () const |
Reimplemented Function More... | |
QStackedLayout () | |
Constructs a QStackedLayout with no parent. More... | |
QStackedLayout (QWidget *parent) | |
Constructs a new QStackedLayout with the given parent. More... | |
QStackedLayout (QLayout *parentLayout) | |
Constructs a new QStackedLayout and inserts it into the given parentLayout. More... | |
void | setGeometry (const QRect &rect) |
Reimplemented Function More... | |
void | setStackingMode (StackingMode stackingMode) |
QSize | sizeHint () const |
Reimplemented Function More... | |
StackingMode | stackingMode () const |
QLayoutItem * | takeAt (int) |
Reimplemented Function More... | |
QWidget * | widget (int) const |
Returns the widget at the given index, or 0 if there is no widget at the given position. More... | |
~QStackedLayout () | |
Destroys this QStackedLayout. More... | |
Public Functions inherited from QLayout | |
bool | activate () |
Redoes the layout for parentWidget() if necessary. More... | |
void | addWidget (QWidget *w) |
Adds widget w to this layout in a manner specific to the layout. More... | |
QMargins | contentsMargins () const |
Returns the margins used around the layout. More... | |
QRect | contentsRect () const |
Returns the layout's geometry() rectangle, but taking into account the contents margins. More... | |
Qt::Orientations | expandingDirections () const |
Returns whether this layout can make use of more space than sizeHint(). More... | |
QRect | geometry () const |
Reimplemented Function More... | |
void | getContentsMargins (int *left, int *top, int *right, int *bottom) const |
virtual int | indexOf (QWidget *) const |
Searches for widget widget in this layout (not including child layouts). More... | |
void | invalidate () |
Reimplemented Function More... | |
bool | isEmpty () const |
Reimplemented Function More... | |
bool | isEnabled () const |
Returns true if the layout is enabled; otherwise returns false. More... | |
QLayout * | layout () |
Reimplemented Function More... | |
int | margin () const |
QSize | maximumSize () const |
Returns the maximum size of this layout. More... | |
QWidget * | menuBar () const |
Returns the menu bar set for this layout, or 0 if no menu bar is set. More... | |
QWidget * | parentWidget () const |
Returns the parent widget of this layout, or 0 if this layout is not installed on any widget. More... | |
QLayout (QWidget *parent) | |
Constructs a new top-level QLayout, with parent parent. More... | |
QLayout () | |
Constructs a new child QLayout. More... | |
void | removeItem (QLayoutItem *) |
Removes the layout item item from the layout. More... | |
void | removeWidget (QWidget *w) |
Removes the widget widget from the layout. More... | |
bool | setAlignment (QWidget *w, Qt::Alignment alignment) |
Sets the alignment for widget w to alignment and returns true if w is found in this layout (not including child layouts); otherwise returns false. More... | |
bool | setAlignment (QLayout *l, Qt::Alignment alignment) |
Sets the alignment for the layout l to alignment and returns true if l is found in this layout (not including child layouts); otherwise returns false. More... | |
void | setContentsMargins (int left, int top, int right, int bottom) |
Sets the left, top, right, and bottom margins to use around the layout. More... | |
void | setContentsMargins (const QMargins &margins) |
Sets the margins to use around the layout. More... | |
void | setEnabled (bool) |
Enables this layout if enable is true, otherwise disables it. More... | |
void | setMargin (int) |
void | setMenuBar (QWidget *w) |
Tells the geometry manager to place the menu bar widget at the top of parentWidget(), outside QWidget::contentsMargins(). More... | |
void | setSizeConstraint (SizeConstraint) |
void | setSpacing (int) |
SizeConstraint | sizeConstraint () const |
int | spacing () const |
int | totalHeightForWidth (int w) const |
Also takes contentsMargins and menu bar into account. More... | |
QSize | totalMaximumSize () const |
Also takes contentsMargins and menu bar into account. More... | |
QSize | totalMinimumSize () const |
Also takes contentsMargins and menu bar into account. More... | |
QSize | totalSizeHint () const |
Also takes contentsMargins and menu bar into account. More... | |
void | update () |
Updates the layout for parentWidget(). More... | |
~QLayout () | |
Destroys the layout, deleting all child layouts. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Public Functions inherited from QLayoutItem | |
Qt::Alignment | alignment () const |
Returns the alignment of this item. More... | |
QSizePolicy::ControlTypes | controlTypes () const |
Returns the control type(s) for the layout item. More... | |
virtual bool | hasHeightForWidth () const |
Returns true if this layout's preferred height depends on its width; otherwise returns false. More... | |
virtual int | heightForWidth (int) const |
Returns the preferred height for this layout item, given the width w. More... | |
virtual int | minimumHeightForWidth (int) const |
Returns the minimum height this widget needs for the given width, w. More... | |
QLayoutItem (Qt::Alignment alignment=0) | |
Constructs a layout item with an alignment. More... | |
void | setAlignment (Qt::Alignment a) |
Sets the alignment of this item to alignment. More... | |
virtual QSpacerItem * | spacerItem () |
If this item is a QSpacerItem, it is returned as a QSpacerItem; otherwise 0 is returned. More... | |
virtual QWidget * | widget () |
If this item is a QWidget, it is returned as a QWidget; otherwise 0 is returned. More... | |
virtual | ~QLayoutItem () |
Destroys the QLayoutItem. More... | |
Properties | |
int | currentIndex |
the index position of the widget that is visible More... | |
StackingMode | stackingMode |
determines the way visibility of child widgets are handled. More... | |
Additional Inherited Members | |
Static Public Functions inherited from QLayout | |
static QSize | closestAcceptableSize (const QWidget *w, const QSize &s) |
Returns a size that satisfies all size constraints on widget, including heightForWidth() and that is as close as possible to size. More... | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Functions inherited from QLayout | |
void | addChildLayout (QLayout *l) |
This function is called from addLayout() or insertLayout() functions in subclasses to add layout l as a sub-layout. More... | |
void | addChildWidget (QWidget *w) |
This function is called from addWidget() functions in subclasses to add w as a managed widget of a layout. More... | |
bool | adoptLayout (QLayout *layout) |
QRect | alignmentRect (const QRect &) const |
Returns the rectangle that should be covered when the geometry of this layout is set to r, provided that this layout supports setAlignment(). More... | |
void | childEvent (QChildEvent *e) |
Reimplemented Function More... | |
QLayout (QLayoutPrivate &d, QLayout *, QWidget *) | |
void | widgetEvent (QEvent *) |
Performs child widget layout when the parent widget is resized. More... | |
Protected Functions inherited from QObject | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Protected Variables inherited from QLayoutItem | |
Qt::Alignment | align |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QStackedLayout class provides a stack of widgets where only one widget is visible at a time.
QStackedLayout can be used to create a user interface similar to the one provided by QTabWidget. There is also a convenience QStackedWidget class built on top of QStackedLayout.
A QStackedLayout can be populated with a number of child widgets ("pages"). For example:
QStackedLayout 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 QStackedLayout's pages. For example:
When populating a layout, 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 the widget at the given index from the layout. The number of widgets contained in the layout, 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 layout changes or a widget is removed from the layout, the currentChanged() and widgetRemoved() signals are emitted respectively.
Definition at line 55 of file qstackedlayout.h.
This enum specifies how the layout handles its child widgets regarding their visibility.
Enumerator | |
---|---|
StackOne | |
StackAll |
Definition at line 65 of file qstackedlayout.h.
QStackedLayout::QStackedLayout | ( | ) |
Constructs a QStackedLayout with no parent.
This QStackedLayout must be installed on a widget later on to become effective.
Definition at line 153 of file qstackedlayout.cpp.
|
explicit |
Constructs a new QStackedLayout with the given parent.
This layout will install itself on the parent widget and manage the geometry of its children.
Definition at line 164 of file qstackedlayout.cpp.
|
explicit |
Constructs a new QStackedLayout and inserts it into the given parentLayout.
Definition at line 173 of file qstackedlayout.cpp.
QStackedLayout::~QStackedLayout | ( | ) |
Destroys this QStackedLayout.
Note that the layout's widgets are not destroyed.
Definition at line 182 of file qstackedlayout.cpp.
|
virtual |
Reimplemented Function
Implements QLayout.
Definition at line 429 of file qstackedlayout.cpp.
int QStackedLayout::addWidget | ( | QWidget * | widget | ) |
Adds the given widget to the end of this layout and returns the index position of the widget.
If the QStackedLayout is empty before this function is called, the given widget becomes the current widget.
Definition at line 197 of file qstackedlayout.cpp.
Referenced by addItem().
|
virtual |
the number of widgets contained in the layout
Implements QLayout.
Definition at line 419 of file qstackedlayout.cpp.
Referenced by QStackedLayoutHFW::hasHeightForWidth(), and QStackedLayoutHFW::heightForWidth().
|
signal |
This signal is emitted whenever the current widget in the layout changes.
The index specifies 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 QStackedLayout)
Referenced by setCurrentIndex(), and takeAt().
int QStackedLayout::currentIndex | ( | ) | const |
Referenced by setCurrentIndex(), and setStackingMode().
QWidget * QStackedLayout::currentWidget | ( | ) | const |
Returns the current widget, or 0 if there are no widgets in this layout.
Definition at line 390 of file qstackedlayout.cpp.
Referenced by setCurrentIndex(), setGeometry(), and setStackingMode().
int QStackedLayout::insertWidget | ( | int | index, |
QWidget * | widget | ||
) |
Inserts the given widget at the given index in this QStackedLayout.
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 QStackedLayout is 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.
Definition at line 217 of file qstackedlayout.cpp.
Referenced by addWidget().
|
virtual |
Reimplemented Function
Implements QLayout.
Definition at line 242 of file qstackedlayout.cpp.
Referenced by QStackedLayoutHFW::hasHeightForWidth(), and QStackedLayoutHFW::heightForWidth().
|
virtual |
Reimplemented Function
Reimplemented from QLayout.
Definition at line 464 of file qstackedlayout.cpp.
Referenced by QStackedLayoutHFW::heightForWidth().
|
slot |
Definition at line 298 of file qstackedlayout.cpp.
Referenced by insertWidget(), setCurrentWidget(), and takeAt().
|
slot |
Sets the current widget to be the specified widget.
The new current widget must already be contained in this stacked layout.
Definition at line 373 of file qstackedlayout.cpp.
|
virtual |
Reimplemented Function
Reimplemented from QLayout.
Definition at line 479 of file qstackedlayout.cpp.
void QStackedLayout::setStackingMode | ( | StackingMode | stackingMode | ) |
Definition at line 534 of file qstackedlayout.cpp.
|
virtual |
Reimplemented Function
Implements QLayoutItem.
Definition at line 443 of file qstackedlayout.cpp.
StackingMode QStackedLayout::stackingMode | ( | ) | const |
Referenced by setGeometry(), and setStackingMode().
|
virtual |
Reimplemented Function
Implements QLayout.
Definition at line 264 of file qstackedlayout.cpp.
QWidget * QStackedLayout::widget | ( | int | index | ) | const |
Returns the widget at the given index, or 0 if there is no widget at the given position.
Definition at line 402 of file qstackedlayout.cpp.
|
signal |
This signal is emitted whenever a widget is removed from the layout.
The widget's index is passed as parameter.
Referenced by takeAt().
|
private |
the index position of the widget that is visible
The current index is -1 if there is no current widget.
Definition at line 60 of file qstackedlayout.h.
|
private |
determines the way visibility of child widgets are handled.
The default value is StackOne. Setting the property to StackAll allows you to make use of the layout for overlay widgets that do additional drawing on top of other widgets, for example, graphical editors.
Definition at line 61 of file qstackedlayout.h.