我想要我的QStackedWidget
调整到打开页面的大小。
我在第一页附加了很多小部件,但其余页面只有一个按钮。所以它们保持这么大,第一页还可以。
我怎样才能让我的QStackedWidget
获得正在查看的页面的大小。
我之所以要这样做是因为我有三个不同的选择,之后我还有其他的事情。如果我更改为有一个按钮然后有很多空白的模式,我不明白为什么它不调整大小。
你可以用这个可调整大小的 StackedWidget http://qt-project.org/faq/answer/how_can_i_get_a_qstackedwidget_to_automatically_switch_size_depending_on_th
在我的实践中,我记得我有一个从 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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)