QSplitter 分割窗口
程序员文章站
2022-05-28 11:52:53
...
1.页面布局
如图,在splitter_widget中添加两个部件treeview和widget,让treeview和widget大小随鼠标拖动而变化。
2,代码实现
导入头文件
#include <QSplitter>
QSplitter *mysplitter = new QSplitter(Qt::Horizontal,ui->splitter_widget);//水平布局
mysplitter->setStyleSheet("QSplitter::handle { background-color: rgb(179, 179, 179); }");//分割线的颜色
mysplitter->setHandleWidth(5);//分割线的宽度
mysplitter->setChildrenCollapsible(false);//设置部件最小宽度不能为0,最小值被限定为sizeHint或maxSize/minSize
mysplitter->addWidget(ui->treeView);//将部件添加的分割器中
mysplitter->addWidget(ui->widget);
mysplitter->setSizes(QList<int> {165,888});//设置两个部件的初始宽度(水平布局)
ui->widget_2->layout()->replaceWidget(ui->splitter_widget,mysplitter);//替换控件,将ui->splitter_widget替换为分割器
ui->splitter_widget->hide();
3.结果