Qt - 在窗口上安装布局管理器

Posted

技术标签:

【中文标题】Qt - 在窗口上安装布局管理器【英文标题】:Qt - installing layout manager on window 【发布时间】:2011-04-08 07:47:42 【问题描述】:

C++ GUI Programming with QT一书中,它提到了关于QWidget::setLayout()的以下内容:调用时,它会在窗口上安装布局管理器。

这是什么意思?

谢谢。

【问题讨论】:

doc.qt.nokia.com/latest/layout.html 【参考方案1】:

在进行 GUI 编程时,可以使用静态坐标将 UI 组件(例如按钮、列表、输入编辑等)推送到小部件上,但这确实不是一个好的选择,因为如果您的 GUI 应用程序可以更改面积大小,您必须自己重新计算每个UI组件的每个坐标并将它们移动到正确的位置。

这就是布局管理器出现的原因。 Layout Manger 有很多种你可以选择,每一种都可以自动为你重新排列 UI 组件,当然你可以根据不同的策略来自定义它们。

而一个QWidget,通常是一个窗口,可以调用它的成员函数setLayout()来安装一个由你创建/自定义的布局管理器到QWidget对象中。之后,此布局将自动为您管理 UI 排列操作。 setLayout() 的参数应该是您要安装到 QWidget 对象中的布局管理器。

【讨论】:

以上是关于Qt - 在窗口上安装布局管理器的主要内容,如果未能解决你的问题,请参考以下文章

Qt 布局管理器

Qt布局管理器(详解)

QT开发(二十一)——QT布局管理器

QT 布局管理器在移动窗口之前隐藏小部件时不会恢复空间

11.QT-布局管理器(Box,Grid,Form,Stacked)

Qt学习四 - 布局管理器