分组框中的Qt4布局

分组框中的Qt4布局,qt4,Qt4,我正在尝试制作一个QGroupBox,以获得其内容的大小,以适应内容。 我想我不太明白这到底是怎么回事,我陷入了这种奇怪的境地: 我在水平布局中有两个按钮,我将其放置在QGroupBox中。我在单击按钮时添加了一个打印调试信息的窗口(因此,当调试代码运行时,窗口将被完全加载) 问题是QGroupBox的sizeHint返回(-1,-1),但是QGroupBox内的水平布局具有正确的sizeHint。 知道为什么QGroupBox中的sizeHint是(-1,-1)吗?我认为这个问题会导致我的所有

我正在尝试制作一个
QGroupBox
,以获得其内容的大小,以适应内容。 我想我不太明白这到底是怎么回事,我陷入了这种奇怪的境地: 我在水平布局中有两个按钮,我将其放置在
QGroupBox
中。我在单击按钮时添加了一个打印调试信息的窗口(因此,当调试代码运行时,窗口将被完全加载)

问题是
QGroupBox
sizeHint
返回(-1,-1),但是
QGroupBox
内的水平布局具有正确的
sizeHint
。 知道为什么
QGroupBox
中的sizeHint是(-1,-1)吗?我认为这个问题会导致我的所有其他问题,因为如果
sizeHint
无效,那么
sizeConstraint
sizePolicy
将不会对
QGroupBox
产生任何影响。我希望父窗口小部件比子窗口小部件的布局稍大一些

小部件和布局是用设计器创建的(可能这是相关的,我有一个复杂的界面,所以我必须使用设计器)

更新:我查看了在
setupUi
方法中生成的代码,似乎创建了一个中间小部件,带有按钮的布局放置在小部件上,小部件放置在
QGroupBox
上。我认为这是因为在设计器中,您可以在小部件中放置布局,也可以调整其大小。
在使用designer时,我可以跳过此小部件吗?

我猜这是因为您实际上没有使用
QGroupBox
小部件。查看将下面的行添加到窗口构造函数中是否可以解决此问题:

ui->groupBox->setLayout(ui->horizontalLayout);

其中groupBox和horizontalLayout是有问题的
QGroupBox
QHBoxLayout

。我找到了解决方案,在designer中,您可以选择想要布局的小部件,然后单击grid/form/horizontal等按钮/菜单中的布局。此选项将创建一个不可见的小部件,将选定的小部件放在布局上,并将该布局设置为不可见的小部件。为了避免这种情况,您可以单击groupbox并点击布局上下文菜单并设置菜单,这将对齐小部件,但布局在小部件树中不可见

是的,这就是原因,但我需要一个设计器解决方案,这样我就可以看到它在设计器中工作,我正在处理comlex接口。我找到了解决方案,在designer中,您可以选择想要布局的小部件,然后单击grid/form/horizontal等按钮/菜单中的布局。此选项将创建一个不可见小部件,将所选小部件放在布局上,并将该布局设置为不可见小部件。为了避免这种情况,您可以单击groupbox并点击布局上下文manu并设置菜单,这将对齐小部件,但布局在小部件树中不可见。