diff options
author | Dheerendra Purohit <[email protected]> | 2024-10-17 12:21:04 +0530 |
---|---|---|
committer | Volker Hilsheimer <[email protected]> | 2024-12-02 15:43:32 +0000 |
commit | 2ebca8cde1b71aeb63c6151a12844df5b4cd5fe4 (patch) | |
tree | 822463f438ee7bd637d333eb3b86afc08975382e /src | |
parent | ea1409afc1d13c30dac856cdb298a9d2a42f2abc (diff) |
Add widgetAdded signal for QStackedWidget and QStackedLayout
Currently, there is no signal provided when a widget is added
or inserted into QStackedWidget or QStackedLayout.
Emit a signal whenever a widget is added or inserted into
QStackedWidget or QStackedLayout.
[ChangeLog][QtWidgets][QStackedWidget] The widgetAdded() signal
emits whenever a widget is added or inserted into QStackedWidget
or QStackedLayout.
Fixes: QTBUG-122748
Change-Id: I3bf658346a5881665214a8d8f77975aa10e497c0
Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/kernel/qstackedlayout.cpp | 12 | ||||
-rw-r--r-- | src/widgets/kernel/qstackedlayout.h | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qstackedwidget.cpp | 14 | ||||
-rw-r--r-- | src/widgets/widgets/qstackedwidget.h | 1 |
4 files changed, 28 insertions, 0 deletions
diff --git a/src/widgets/kernel/qstackedlayout.cpp b/src/widgets/kernel/qstackedlayout.cpp index 04eacf1d414..979bc21067c 100644 --- a/src/widgets/kernel/qstackedlayout.cpp +++ b/src/widgets/kernel/qstackedlayout.cpp @@ -114,6 +114,17 @@ QLayoutItem* QStackedLayoutPrivate::replaceAt(int idx, QLayoutItem *newitem) */ /*! + \fn void QStackedLayout::widgetAdded(int index) + + \since 6.9 + + This signal is emitted whenever a widget is added or inserted. + The widget's \a index is passed as parameter. + + \sa addWidget(), insertWidget() +*/ + +/*! Constructs a QStackedLayout with no parent. This QStackedLayout must be installed on a widget later on to @@ -204,6 +215,7 @@ int QStackedLayout::insertWidget(int index, QWidget *widget) widget->hide(); widget->lower(); } + emit widgetAdded(index); return index; } diff --git a/src/widgets/kernel/qstackedlayout.h b/src/widgets/kernel/qstackedlayout.h index 91d7d1e9f57..5b5a8f283fa 100644 --- a/src/widgets/kernel/qstackedlayout.h +++ b/src/widgets/kernel/qstackedlayout.h @@ -57,6 +57,7 @@ public: Q_SIGNALS: void widgetRemoved(int index); void currentChanged(int index); + void widgetAdded(int index); public Q_SLOTS: void setCurrentIndex(int index); diff --git a/src/widgets/widgets/qstackedwidget.cpp b/src/widgets/widgets/qstackedwidget.cpp index 9cecee2ef86..bd1eae4a19e 100644 --- a/src/widgets/widgets/qstackedwidget.cpp +++ b/src/widgets/widgets/qstackedwidget.cpp @@ -89,6 +89,18 @@ public: */ /*! + \fn void QStackedWidget::widgetAdded(int index) + + \since 6.9 + + This signal is emitted whenever a widget is added or inserted. + The widget's \a index is passed as parameter. + + \sa addWidget(), insertWidget() +*/ + + +/*! Constructs a QStackedWidget with the given \a parent. \sa addWidget(), insertWidget() @@ -102,6 +114,8 @@ QStackedWidget::QStackedWidget(QWidget *parent) this, &QStackedWidget::widgetRemoved); connect(d->layout, &QStackedLayout::currentChanged, this, &QStackedWidget::currentChanged); + connect(d->layout, &QStackedLayout::widgetAdded, + this, &QStackedWidget::widgetAdded); } /*! diff --git a/src/widgets/widgets/qstackedwidget.h b/src/widgets/widgets/qstackedwidget.h index 49f2794ff4f..0c4e8ece80e 100644 --- a/src/widgets/widgets/qstackedwidget.h +++ b/src/widgets/widgets/qstackedwidget.h @@ -41,6 +41,7 @@ public Q_SLOTS: Q_SIGNALS: void currentChanged(int); void widgetRemoved(int index); + void widgetAdded(int index); protected: bool event(QEvent *e) override; |