题
我正在与QT合作(版本4.6 在Windows XP 32位上,并在QT Creator 2.0.0中编译),并试图使Qwizard奏效。
第一个问题:
我有三个 qwizardpages 在我的 Qwizard 至今。每个页面都在布局时都应用QVBoxLayout。我的第一页有很小的内容(只有三行qlabel),但由于某种原因,Qlabel和“ <Back”,“ Next>”和“ Cancel”按钮窗格之间存在很多空白。我希望每个页面都根据其中的内容具有最小数量的空白。过去,当我将qvboxlayout放在无父级qwidget(它是自己的窗口)中时,窗口总是足够小,可以修复qvboxlayout。现在有额外的空格。我是否必须关闭或打开一些选项,以使QwizardPages尽可能小?
第二 (并且大多可能与第一个有关) 问题:
另外,我的第二页比第一页大得多,因此,当我到达第二页并回到第一页时,第一页的大小与第二页相同,但仅在我访问第二页之后。这是一个错误吗?
我正在做的唯一几何设置是
move(50, 50);
在Qwizard构造函数中。没有调整...没有明确的。我试图让布局做他们的魔力。
感谢您在高级方面的帮助。
解决方案
为了解决这个问题,我创建了一个Qwizard的子类,并创建了一个私人插槽:
void ChildClass::fitContents(int id)
{
adjustSize(); // this automagically resizes the window to fit the contents
}
每次更改页面时,都会打电话给它,就像这样:
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(fitContents(int)));
不隶属于 StackOverflow