This question already has answers here:
Qt QStackedWidget Resizing Issue
(3个答案)
已关闭6年。
我希望我的
我在第一页附加了很多小部件,但其余页面只有一个按钮。因此它们保持很大,第一页就可以了。
如何使我的
我之所以要这样做,是因为我有三个不同的选择,然后我还有其他的事情。如果我切换到有一个按钮然后有很多空白的模式,我不明白为什么它不调整大小。
并使用此插槽连接到 currentChange(QWidget*) 信号:
(3个答案)
已关闭6年。
我希望我的
QStackedWidget
调整到打开的页面的大小。我在第一页附加了很多小部件,但其余页面只有一个按钮。因此它们保持很大,第一页就可以了。
如何使我的
QStackedWidget
具有正在查看的页面的大小。我之所以要这样做,是因为我有三个不同的选择,然后我还有其他的事情。如果我切换到有一个按钮然后有很多空白的模式,我不明白为什么它不调整大小。
最佳答案
你可以使用这个 Resizable StackedWidget
在我的实践中,我记得我有从 QStackedWidget 派生的类,并带有重新定义的 addWidget 方法。在这种方法中,我接下来做了:
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();
}
关于qt - 将 QStackedWidget 调整为打开的页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14480696/
10-12 02:32