You can use this Resizable StackedWidget
In my practice, I remember that I had a class derived from QStackedWidget with an overridden addWidget method. In this method, I did the following:
void ResizableStackedWidget::addWidget(QWidget* pWidget) { pWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); QStackedWidget::addWidget(pWidget); }
And connected to the currentChange signal (QWidget *) with this slot:
void ResizableStackedWidget::onCurrentChanged(int index) { QWidget* pWidget = widget(index); Q_ASSERT(pWidget); pWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); pWidget->adjustSize(); adjustSize(); }
source share