Linux之布局管理

本文介绍了Linux窗口部件布局的三种方法:绝对位置、人工布局和布局管理器。重点讲述了QLayout的使用,包括QHBoxLayout、QVBoxLayout、QGridLayout以及QStackedLayout。QSplitter提供了一种灵活的窗口部件切分方式。此外,还讨论了停靠窗口、工具栏和多文档界面(MDI)的实现,强调了Qt设计师在简化布局管理中的作用。
摘要由CSDN通过智能技术生成

Linux中管理子窗口部件的布局一共有三种方法,绝对位置,人工布局还有布局管理器法。

绝对位置法最原始,通过对窗体的各个子窗口部件分配固定的大小和位置以及对窗体分配固定的大小实现,有着很多缺点。一般不采用。

人工布局法尽管还需要给定窗口部件的绝对位置,但是利用人工布局给定的大小总是可以和窗口的大小成比例。但仍然存在文本被截断的危险。

最后要用的是布局管理器:

最为重要的三种布局管理器是QHBoxLayout,QVBoxLayout以及QGridLayout。

1.

QHBoxLayout是基于水平方向的布局,QVBoxLayout是基于竖直方向的布局。而QGridLayout是基于二维单元格

在addWidget中有四个参数,其中最后两个参数表示占用的行数和列数,不写的话两个参数默认为1.


2.

分组布局:

QStackedLayout类可以对一组子窗口进行摆放,或者对它们进行“分页”,而且一次只显示一个,而把其他子窗口部件或者分页隐藏起来。

分页从0开始编号,可以用setCurrentIndex来使某个特定的子窗口部件可见,indexOf()可以获取子窗口部件的页号。

使用Qt设计师更为方便。

3.切分窗口

QSplitter就是一个可以包含一些其他窗口部件的窗口部件,它们会通过切分条分隔开来,用户也可以通过拖动切分条来改变切分窗口部件的大小。

其与布局管理器不同的是,布局管理器只是简单地摆放并没有可见的外形,而QSplitter在使用的时候可以像其他窗口部件一样使用。

QTextEdit *editor1 = new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值