我想要一个小的QFormLayout
,以便填充其父窗口小部件。
我使用Qt Designer中的QWidget
模板创建了一个新的 .ui 文件。我在“窗口”中放置了QFormLayout
,然后在QFormLayout
内放置了一些控件。
这一切都运行得相当不错,但QFormLayout
总是保持在我在Qt Designer中设置的大小。我希望QFormLayout
填充其父窗口小部件并使用它进行扩展/缩小。
我该如何实现?
答案 0 :(得分:113)
在Designer中,激活centralWidget并指定布局,例如水平或垂直布局。 然后你的QFormLayout会自动调整大小。
始终确保所有小部件都有布局!否则,自动调整大小将会破坏该小部件!
Controls insist on being too large, and won't resize, in QtDesigner
答案 1 :(得分:41)
我发现在我在其下面添加至少一个孩子之前,不可能将布局分配给centralwidget。然后我可以突出显示带有红色“禁用”标记的小图标,然后单击顶部的Designer工具栏中的布局。
答案 2 :(得分:1)
至少在QT5中,接受的答案(其图像)是错误的。相反,您应该为根对象/小部件分配布局(指向上述图像,它应该是MainWindow
而不是centralWidget
)。另请注意,您必须在其下至少创建一个QObject
才能起作用。这样做,您的用户界面将对窗口调整大小做出响应。
答案 3 :(得分:1)