このサイズ変更可能なStackedWidgetを使用できます
私の練習では、addWidgetメソッドが再定義されたQStackedWidgetから派生したクラスがあったことを覚えています。この方法で私は次にしました:
void ResizableStackedWidget::addWidget(QWidget* pWidget)
{
pWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
QStackedWidget::addWidget(pWidget);
}
そして、このスロットでcurrentChange(QWidget *)シグナルに接続されます:
void ResizableStackedWidget::onCurrentChanged(int index)
{
QWidget* pWidget = widget(index);
Q_ASSERT(pWidget);
pWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pWidget->adjustSize();
adjustSize();
}