组框中的Qt4布局

sim*_*314 3 qt4

我试图使它QGroupBox具有内容的大小,以适合内容。我想我不完全了解这是如何工作的,并且在这种奇怪的情况下会遇到这种情况:我在水平布局中有2个按钮,并将其放置在内QGroupBox。我在单击按钮时添加了一个用于打印调试信息的插槽(因此在运行调试代码时该窗口已完全加载)。

问题是QGroupBoxsizeHint返回值(-1,-1)但的水平布局QGroupBox具有正确的sizeHint。知道为什么为什么sizeHint QGroupBox是(-1,-1)吗?我认为这个问题会引起我所有其他问题,因为如果sizeHint无效,则sizeConstraintsizePolicy将对无效QGroupBox。我期望父窗口小部件的尺寸sizeHint比孩子布局大一些。

小部件和布局是使用Designer创建的(也许是相关的,我有一个复杂的界面,所以我必须使用Designer)。

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

sim*_*314 5

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