CH:这个splitter就好像一个布局,横向布局,垂直布局



1.QSplitter的构造方法:


QSplitter *splitterMain=new QSplitter(Qt::Horizontal,0);

第一个参数通过Qt::Horizontal 和 Qt::Vertical来设定为水平分割或垂直分割。第二个设定0代表是主窗口,无父窗口。

不过子splitter设置的

new QSplitter(Qt::Vertical,splitterMain);

代表主窗口是splitterMain。则子splitter就被添加到splitterMain中。

添加时为从左至右(或从上至下)添加;

2.添加QTextEdit控件。

QTextEdit *textLeft=new QTextEdit(QObject::tr("Left Widget"),splitterMain);

第一个参数设置文本内容,第二个参数设置主窗体。

3.设置拖动时是否实时更新

splitterRight->setOpaqueResize(false);

false为不实时更新——在拖动时候只显示一条灰色的线条,在拖动到位并释放鼠标后再显示分割条。默认为true——实时更新。

4.设定可伸缩控件:

splitterMain->setStretchFactor(1,1);

第一个参数代表控件序号,第一个序号为0.后面参数0代表不可伸缩,非0代表可伸缩。

这里设置右边的可伸缩。当拉伸整个窗口时候,左边保持原来宽度。

#include "mainwindow.h"
#include <QApplication>
#include<Qsplitter>
#include<QTextEdit>
#include <QTextCodec>
int main(int argc, char *argv[])
{QApplication a(argc, argv);QFont font("ZYSong18030",12);a.setFont(font);//主分割窗口QSplitter *splitterMain =new QSplitter(Qt::Horizontal,0);QTextEdit *textLeft =new QTextEdit(QObject::tr("Left Widget"),splitterMain);textLeft->setAlignment(Qt::AlignCenter);//右部分割窗口QSplitter *splitterRight =new QSplitter(Qt::Vertical,splitterMain);splitterRight->setOpaqueResize(false);QTextEdit *textUp =new QTextEdit(QObject::tr("Top Widget"),splitterRight);textUp->setAlignment(Qt::AlignCenter);QTextEdit *textUp1 =new QTextEdit(QObject::tr("Top Widget"),splitterRight);textUp1->setAlignment(Qt::AlignCenter);QSplitter *splitterX =new QSplitter(Qt::Horizontal,splitterRight);QTextEdit *textBottom =new QTextEdit(QObject::tr("Bottom Widget"),splitterX);textBottom->setAlignment(Qt::AlignCenter);QTextEdit *textBottom1 =new QTextEdit(QObject::tr("Bottom Widget"),splitterX);textBottom1->setAlignment(Qt::AlignCenter);splitterMain->setStretchFactor(1,1);splitterMain->setWindowTitle(QObject::tr("Splitter"));splitterMain->show();//MainWindow w;//w.show();return a.exec();
}

QT_Qsplitter相关推荐

最新文章

  1. 如何优化才能赢得搜索引擎“欢心”,提升抓取量?
  2. SQL判断是否“存在“,还在用 count 操作?
  3. make xconfig 报‘ptrdiff_t’ does not name a type错误解决方法
  4. SpringBoot_web开发-扩展与全面接管SpringMVC
  5. POJ - 1358 Housing Complexes(二分图最大匹配)
  6. (转)从零实现3D图像引擎:(6)向量函数库
  7. c语言甘勇第二版第五章答案,C语言(1) - Patata的个人页面 - OSCHINA - 中文开源技术交流社区...
  8. Windows2000计划任务对机器进行重新启动
  9. tp框架like模糊查询报错
  10. 东方六爻周易排盘起卦软件,有电脑和手机Android App,Pad平板应用,卦例本机网络双备份,支持藏山卜
  11. 单火线智能开关设计笔记
  12. [语音处理] 声谱图(spectrogram)FBank(Mel_spectrogram)MFCC(Mel倒谱)到底用哪个作为NN输入?
  13. jquery学习总结
  14. window引导配置bcdedit
  15. 数据抓取软件是如何抓取数据的?
  16. 1625:Sequence Median(翻译)
  17. 素数筛(c语言实现)
  18. 小企业无线局域网服务器,无线局域网AAA服务器的软件设计与实现
  19. 小程序Git问题:ERROR: credentials callback returned an invalid cred type解决方法
  20. 【WSL】window10 安装WSL2配置conda环境及深度学习环境搭建

热门文章

  1. linux下tomcat ssl证书,Tomcat部署ssl证书(Linux)
  2. 快速幂(一个简单快速适合整数幂次的运算)
  3. python读取yaml文件
  4. oracle视图无法使用rowid,请问:无法从没有键值保存表的连接视图中选择 ROWID 这个是什么原因啊?...
  5. mysql上一条语句成功_mysql : 获取上一条insert语句
  6. websocket java 例子_java 实现websocket的两种方式实例详解
  7. uniapp 子组件 props拿不到数据_谈一谈使用 webpack 开发时,Vue 组件之间的数据传递...
  8. linux生成的pdf文件,把LINUX MAN PAGE生成为PDF文件的脚本
  9. 模板三连击:树状数组+线段树+主席树
  10. Oracle使用rman备份数据库时出现cannot reclaim的错误