QT布局管理之QSplitter实现分割窗口

tech2024-11-27  9

一、新建工程splitter:双击软件点击文件->选择新建文件或工程->选择MainWindow基础类,取消“创建界面”复选框的勾选->后面的默认NEXT,点击完成创建项目的创建。点击软件左侧的项扳手图标后,点击选择configer project的项目具体过程如下:

选择项目目录并创建项目名称

 

选择基类并取消创建界面

 

项目刚创建完毕后需要配置工程

 

 

二、开始编辑MainWindow.cpp,在main主函数中添加如下代码,按Ctrl+R,运行该工程

QApplication a(argc, argv); //创建主分割 QSplitter * Splittermain = new QSplitter(Qt::Horizontal,0); //填充控件 QTextEdit *textLeft = new QTextEdit(QObject::tr("Left Widget"),Splittermain); textLeft->setAlignment(Qt::AlignCenter); 创建主分割并填充QTextEdit控件显示Left Widget

三、继续创建右分割并在右分割中按顺序添加Top Widget,TextMiddle Widget,Bottom Widget三个QTextEdit控件,具体添加如下代码:

//创建右分割 QSplitter * SplitterRight = new QSplitter(Qt::Vertical,Splittermain); //拖拽时是否实时更新 SplitterRight->setOpaqueResize(false); //填充到右边容器里 QTextEdit *textUp = new QTextEdit(QObject::tr("Top Widget"),SplitterRight); textUp->setAlignment(Qt::AlignCenter); //填充到右边容器里 QTextEdit *textMiddle = new QTextEdit(QObject::tr("textMiddle Widget"),SplitterRight); textMiddle->setAlignment(Qt::AlignCenter); //填充到右边容器里 QTextEdit *textBottom = new QTextEdit(QObject::tr("Bottom Widget"),SplitterRight); textBottom->setAlignment(Qt::AlignCenter); Splittermain->setStretchFactor(1,1); Splittermain->setWindowTitle(QObject::tr("分割演示")); Splittermain->show(); return a.exec();

 四、再次运行该工程,最终效果如下图:

最终效果图

五、尝试拖拽分割框,可以实现自由拖拽

拖拽后的效果

 

最新回复(0)