布局管理
1、布局管理系统
作用:
- 定位子部件
- 感知窗口默认大小
- 感知窗口最大化最小化
- 内容改变时自动更新
1.1、布局管理器
QLayout类是布局管理器的基类,抽象基类。继承自QObject和QLayoutItem类。
包含子类:
- QBoxLayout(基本布局管理器)
- QGridLayout(栅格布局管理器)
- QFormLayout(窗体布局管理器)
- QStackedLayout(栈布局管理器)
使用布局管理器后拉伸窗口,部件会随着窗口的变化而变化。
QBoxLayout(基本布局管理器)
QHBoxLayout水平布局管理器
QVBoxLayout垂直布局管理器
QGridLayout(栅格布局管理器)
使部件在网格中进行布局
QFormLayout(窗体布局管理器)
用来管理表单的输入部件以及与他们相关的标签,将子部件分为两列,左边标签,右边输入
1.2、设置部件大小
属性设置或者通过函数设置
1.3、可扩展窗口
部件可以隐藏
构造函数中添加,使之一开始就是隐藏的状态。
ui->textEdit->hide(); // 让文本编辑器隐藏,也可以使用setVisible(false)函数
属性中选checkable选项,转到toggled(bool)信号槽
// 显隐窗口按钮
void MyWidget::on_pushButton_toggled(bool checked)
{
ui->textEdit->setVisible(checked); // 设置文本编辑器的显示和隐藏
if(checked) ui->pushButton->setText(tr("隐藏可扩展窗口"));
else ui->pushButton->setText(tr("显示可扩展窗口"));
}
示例程序见Extension Example。
1.4、分裂器
QSplitter类提供了一个分裂器部件。和QBoxLayout类似,可以完成布局管理器的功能,但是包含在分裂器里的部件可以随着分裂器的大小变化而变化。
布局管理器继承自QObject类,分裂器继承自QFrame类。
2、设置伙伴
伙伴设计模式
用来添加快捷键等
3、设置Tab键顺序
编辑Tab键的顺序模式
按顺序点击即可
4、定位器
快捷键Ctrl+K
具体使用参见帮助Searching With the Locator