007-分割条 QSplitter

auther: abinng date: 2026-03-20 11:19 createDate:2026-03-20 11:18

是什么

具体展示出来的话就是,可以调整左右/上下比例的分割,如下图:

鼠标放在分割线上时,会变成这个图标,拖动就可以调整左右比例,你肯定见过

这个比例调整也分情况,一种是可以完全将左边/右边拖没,另一种是拖到一定程度,分割条就不会再往该方向动了

打开 UI 设计器,发现 splitter 有一个 childrenCollapsible 的属性

写一个仿 IDE 的布局

实现以下的 UI :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void Widget::myshow4() {
// 设置窗口大小
this->setGeometry(50, 100, 450, 400);
// 主布局
auto *main_layout = new QHBoxLayout(this);
// 分割器1, 左右分割
auto *main_splitter = new QSplitter(Qt::Horizontal, this);
// 分割器1左侧的 GroupBox
auto *left_grp = new QGroupBox("功能区", main_splitter);
// 分割器1右侧的分割器2, 上下分割
auto *right_splitter = new QSplitter(Qt::Vertical, main_splitter);
// 分割器2上方的文本框
auto *up_edit = new QTextEdit("Hello World!", right_splitter);
// 分割器2下方的 GroupBox
auto *btm_grp = new QGroupBox("输出区", right_splitter);

main_layout->addWidget(main_splitter);
}