目录
此文为作者原创,创作不易,转载请标明出处!
一、QSplitter的相关介绍
1、界面使用
QSplitter能方便用户能在程序运行时自由调整分裂器各个控件的大小,看下界面上的使用。
首先拖动三个QPushButton在界面上,然后三个同时选中,再选择水平拆分器进行布局,查看效果:
编译之后就可以拖拽的方式查看效果。在打开qt designer的时候,QSplitter主要有两种,一种是水平拆分器,刚刚演示的那种,另外一个就是垂直拆分器,两者的方向不同,水平方向是 Qt::Horizontal,垂直方向是 Qt::Vertical。但是一般都是直接代码new出来使用较多。
2、常用代码演示
首先代码演示下,testEdit的拖拽,这边使用水平拆分器进行测试。首先还是拖个horizontalLayout在界面上,然后在构造函数中添加:少了什么就加上头文件
QSplitter *s = new QSplitter(this);
ui->horizontalLayout->addWidget(s);
//添加3个widget
QTextEdit *str1 = new QTextEdit(s);
str1->setPlaceholderText("test1");
QTextEdit *str2 = new QTextEdit(s);
str2->setPlaceholderText("test2");
QTextEdit *str3 = new QTextEdit(s);
str3->setPlaceholderText("test3");
s->addWidget(str1);
s->addWidget(str2);
s->addWidget(str3);
//第二个是伸缩因子的占比
s->setStretchFactor(0,4);
s->setStretchFactor(1,1);
s->setStretchFactor(2,1);
演示如下:
3、多方位拆分演示
界面中拖入个verticalLayout,构造函数中加入代码:
QSplitter *splitter = new QSplitter(this);
ui->verticalLayout->addWidget(splitter);
QSplitter *rightSplitter = new QSplitter(splitter);
rightSplitter->setOrientation(Qt::Vertical); //设置垂直方向
//添加3个widget
QTextEdit *t1 = new QTextEdit(splitter);
t1->setPlaceholderText("test1");
QTextEdit *t2 = new QTextEdit(rightSplitter);
t2->setPlaceholderText("test2");
QTextEdit *t3 = new QTextEdit(rightSplitter);
t3->setPlaceholderText("test3");
rightSplitter->addWidget(t2);
rightSplitter->addWidget(t3);
splitter->addWidget(t1);
splitter->addWidget(rightSplitter);
演示效果:
二、Demo展示
我放在了精灵球里,
推荐博客:精灵球Plus介绍_清风徐来Groot的博客-CSDN博客
百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q 提取码:6666