18

我在 Qt Designer 中制作了一个“小部件”,其中大约有十几个控件被组织成 horiz。和垂直。布局。奇怪的是,当整个表单设置为 275 像素宽时,每个水平布局都希望有一些大尺寸,大约 400 像素宽。其中包含的按钮等对于表单来说太宽了。当我垂直或水平调整小部件窗体的大小时(有时关闭最大宽度),各种布局不会调整大小。手动设置宽度(或最小宽度或最大宽度)可能会影响控件的大小,但不会影响它们在布局中的间距。插入垫片以将一些控件保持在顶部,而将其他一些控件保持在底部,两者之间有一个灵活的空间,根本不起作用。

我忽略了什么(可能)明显的事情?

(我通常不是应用程序或 GUI 程序员,在这方面完全是穴居人。)

4

1 回答 1

45

不要自责,我觉得Qt的Layout逻辑在你开始处理的时候有点混乱。如果我理解你在说什么,表单的内容不是“连接的”,即没有调整大小并且不受表单大小的限制,对吧?我认为您错过了设置“centralWidget 布局”。尝试以下操作:

  1. 在 QtCreator 中双击打开表单(我不经常使用 QtDesigner,但我认为这两种工具的编辑器布局几乎相同)。

  2. 转到右上角的窗口(具有 2 列“对象类”的窗口)并用鼠标右键单击根对象(例如 MainWindow)。

  3. 将出现一个上下文菜单。单击“布局”(最后一个菜单项)并选择“垂直布局”或“水平布局”

在此处输入图像描述

这些操作将在 centralWidget 对象上创建一个布局。如果您在“Object-Class”窗口中选择“centralWidget”,则可以在(右下)Property-Value 窗口中查看和更改布局属性;它们是列表中的最后一个属性。

更重要的是,在您的 centralWidget 中添加布局后,您的表单内容应该随着表单大小而调整并受到限制。

我希望这有帮助。

于 2011-03-18T22:01:00.753 回答