分组框中的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并设置菜单,这将对齐小部件,但布局在小部件树中不可见。