C++GUI Qt4编程 第二章的有关问题

C++GUI Qt4编程 第二章的问题
我的工具 ubuntukylin14.04 + Qt5.3 + g++4.8
书里第二章几个例子使用了IDE...然后我当初安装QT的时候不知道为什么桌面上没有显示QTcreator的图标,所以我到现在都不知道这么掉那东西出来C++GUI Qt4编程 第二章的有关问题

然后书里第二章的例子因为用了QTcreator而且没给代码。。。所以我只能自己摸索着自己写。。。

跑题了。。

书里例题要实现一个框,里面3个QGroupBox,其中2个是隐藏的,还有3个QPushButton,然后通过点击QPushButton可以是那2个QGroupBox显示出来
然后我设计了Sort类,用各种layout把东西放进去,大致布局是这样的
C++GUI Qt4编程 第二章的有关问题
然后程序运行出来是这样
C++GUI Qt4编程 第二章的有关问题
这里点击more按钮
就可以把那2个隐藏的显示出来,但我的窗体,右侧的两个按钮不知道怎么回事就掉下去了。。C++GUI Qt4编程 第二章的有关问题

C++GUI Qt4编程 第二章的有关问题

我想问下这3个按钮位于一个QVBoxLayout内,然后这个布局管理器和左侧的QGroupBox位于一个QHBoxLayout内,这3个按钮为什么会掉下去。。。

~~~~分割线~~~~~
然后还有个功能,我想点击cancel按钮的时候那2个QGroupBox能隐藏起来,我给类加了个私有槽,代码类似这样
void Sort::hide_group()
{
  第2个群组.hide();
  第三个群组.hide()
}
然后我点击cancel的时候我彻底崩 了。。。
C++GUI Qt4编程 第二章的有关问题

谁能给点建议么。。。书里这个类使用QTcreator实现的,很多关键的代码没给出来。。。。C++GUI Qt4编程 第二章的有关问题
------解决思路----------------------
善用QSpacerItem,
button_layout->addStretch (TRUE );
------解决思路----------------------
如果你是sudo apt-get qtcreator这样安装的,可以在Application->Programming里面找到Qt creator的图标。

加上这两句话:
button_layout->addStretch();
all_layout->setSizeConstraint(QLayout::SetFixedSize);