8.1 布局简介
好文章,来自【福优学苑@音视频+流媒体】
8.1 布局简介
布局管理器
布局是一种优雅而灵活的方式,可以在其容器中自动安排子部件。
每个小部件通过sizeHint和sizePolicy属性将其大小要求报告给布局,并且该布局相应地分配可用空间。
Qt Designer是一个强大的工具,用于在布局中交互式创建和排列小部件。
好文章,来自【福优学苑@音视频+流媒体】
第7章讲述了一些窗口部件,当时往界面上拖放部件时都是随意放置的,这对于学习部件的使用没有太大的影响,但是,对于一个完善的软件,布局管理却是必不可少的。
无论是想要界面中部件有一个很整齐的排列,还是想要界面能适应窗口的大小变化,都要进行布局管理。
QLayout类
QLayout类是布局管理器的基类,是一个抽象基类,继承自 QObject 和 QLayoutItem 类,
而 QLayoutltem 类提供了 一个供 QLayout 操作的抽象项目。
QLayout 和 QLayoutItem 都是在设计自己的布局管理器时才使用的,一般只需要使用 QLayout 的几个子类就可以了,
分别是:
QBoxLayout(基本布局管理器)
QGridLayout(栅格布局管理器)
QFormLayout(表单布局管理器)
QStackedLayout(栈布局管理器)
Qt提供的布局类以及他们之间的继承关系(如下图):
好文章,来自【福优学苑@音视频+流媒体】
常用到的布局类有:QHBoxLayout、QVBoxLayout、QGridLayout三种,
分别是水平排列布局、垂直排列布局、表格排列布局。
好文章,来自【福优学苑@音视频+流媒体】
常用的方法有addWidget()和addLayout()。
addWidget()用于在布局中插入控件,addLayout()用于在布局中插入子布局。
在布局管理中还常用到
setMargin()用于设定边距,
setSpacing()用于设定控件间距
setColumnStretch()用于设置列的占空比。
好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***