我是QT新手。我试图通过尝试实现以下所示的小窗口来了解布局机制。它在主窗口QWidget下具有以下元素:


一个扩展到所有客户区的大型QWidget。
窗口顶部的两个QWidget容器。两者都应具有相同的高度,但随着窗口的增大/缩小,右侧的应水平延伸。
右上方的一个按钮容器小部件,具有固定的高度和宽度
较大的QWidget容器填充了其余的客户区域,该容器应随窗口大小的变化而调整大小。


父窗口本身是可调整大小的。

我正在寻找有关应该使用哪种布局的提示。如何以编程方式实现这一目标?定义自动拉伸的内容,固定大小的内容是什么?以及如何将比例保存在需要保存的地方。

我将不胜感激您可能拥有的任何指针。

最佳答案

完成此操作的最简单且最佳的IMHO方法是通过QHBoxLayout和QVBoxLayouts。您可以通过QtCreator中的设计器执行此操作,但是我发现如果您需要随着时间的推移进行调整,它就不能完美地工作。如果它是一组静态小部件,我建议您使用QtCreator设计器进行设计,因为它将大大简化您的生活。

如果要以编程方式执行此操作,则应将主窗口设置为使用QVBoxLayout,然后再使用两个子QVBoxLayout,其中最下面的一个配置为使用它可以获得的任何空间。然后在顶部的QVBoxLayout中,添加一个带有两个上部组件的QHBoxLayout。

10-05 19:48