In the C++ GUI Programming with QT
book, it mentions the following regarding QWidget::setLayout()
: When called, it installs the layout manager on the window.
What does that mean?
Thanks.
在进行 GUI 编程时,可以使用静态坐标将 UI 组件(例如按钮、列表、输入编辑等)推送到小部件上,但这确实不是一个好的选择,因为如果您的 GUI 应用程序可以更改区域大小,您必须自己重新计算每个 UI 组件的每个坐标并将它们移动到正确的位置。
这就是布局管理器出现的原因。Layout Manger 有很多种你可以选择,每一种都可以自动为你重新排列 UI 组件,当然你可以根据不同的策略来自定义它们。
QWidget,通常是一个窗口,可以调用它的成员函数setLayout()
来将你创建/自定义的布局管理器安装到 QWidget 对象中。之后,此布局将自动为您管理 UI 排列操作。参数 tosetLayout()
应该是您要安装到 QWidget 对象中的布局管理器。