Qt中常用的布局主要有三种使用方式:
- 绝对位值法;
- 人工布局法;
- 布局管理器;
- 绝对位置法
- 解释
很好理解就是说,直接对各个窗体的部件分配固定的大小和位置,并且需要的是对主窗口大小定死; - 优缺点
用户没有办法来改变窗口的大小;
假设用户选择一种不常用的大字体,或者当应用程序翻译成另外一种语言之后,可能出现文件截断;
对某些风格的平台来说的话,这些窗口可能并不具备合适的尺寸大小;
必须人工来计算这些位置和大小。 - 使用方法:
使用 widget部件的函数:
setGeometry(x,y,width,height)
可以直接设置 widget部件的坐标(x,y) 以及 部件的大小 ;
setFixedSize(width,height)
设置窗口的大小
- 解释
- 人工布局法
- 解释
人工布局法, 还是需要设置窗口部件的位置。但是可以更改主窗体的大小,也就是 说可以利用人工的方法 使得窗口部件的代销总是可以 和主窗口的小成比例。 - 优缺点
可以改变主窗口的大小; - 使用方法
通过实现窗体的resizeEvent函数,该函数可以在窗体进程绘制的时候调用;
主要依托width() 、height()这两个函数,可以直接得到当前窗口的大小。
之后根最小大小来设置窗口的大小;
- 解释
- 布局管理器
- 解释
使用qt自带的布局管理来 管理 部件;
QHBoxLayout 水平布局
QVBoxLayout 垂直布局
QGridLayout 表格布局
- 优缺点
使用布局管理器,可以为我们提供很多额外的好处:
如果向布局中添加部件的话,布局会使用当前的所产生的新情况 ;
如果对某个部件设置的 hide() 或者是show()属性的时候,也会适应这些情况;
如果某个子部件的大小发生了改变的话,布局会自动调整当前的状况,从而把新的大小提示考虑进去。 - 使用方法
QGridLayout:
layout->addWidget(widget , width ,height ,rowspan ,colspan )
layout->addStretch()
添加一个分割符
layout->addLayout
部件组合
setLayout(layout)
设置布局
- 解释
网友评论