我正在与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)));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top