qt中窗口的布局
- 常用的窗口布局方式
- 使用拖拽控件的方式调用窗口布局
- 使用Widget控件完成窗口布局
- 布局中嵌套布局
- demo(制作登录页面)
如果不使用窗口布局,会带来的后果:
- 控件可能显示不出来
- 不能按照期望的大小显示
- 不能跟随窗口进行缩放
常用的窗口布局方式

布局可以嵌套使用

使用拖拽控件的方式调用窗口布局
水平布局:


调整为垂直布局



使用Widget控件完成窗口布局



将控件放进去


设置布局方式:


或者使用快捷键:

布局中嵌套布局
这里我使用的是Widget的方式


拖拽进去就行

效果如下(如果看不到就放大一些)


或者对mainwindow设置一个布局方式

demo(制作登录页面)




添加控件


使用Widget做两个水平布局


看到文本编辑框左侧没有对齐
在添加一个Widget控件,使用网格布局


做一次网格布局


注意:添加的Widget不要调整大小,否则可能出现控件拖进去乱序的问题
继续添加控件

做一次布局

添加控件+做布局

添加控件+做布局


对5个水平布局做一个垂直布局


添加弹簧
先添加一个widget
将标签添加进去,做一个水平布局



添加两个水平弹簧


同理,对下面的Widget中的控件添加弹簧


设置弹簧固定的长度:

最后,在主窗口中调用登录页面窗口
(先固定一下尺寸)


在主函数中,先调用登录窗口

#include "mainwindow.h"
#include "mylogindialog.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);myLoginDialog login;login.exec();MainWindow w;w.show();return a.exec();
}

一个小tips

左侧图标很明显的显示了控件的布局方式
布局对应的属性为:

可以使用属性对布局再次微调