欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-28 11:54:17
...

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

QT布局管理之QSplitter实现分割窗口
选择项目目录并创建项目名称

 

QT布局管理之QSplitter实现分割窗口
选择基类并取消创建界面

 

QT布局管理之QSplitter实现分割窗口
项目刚创建完毕后需要配置工程

 

 

二、开始编辑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);
QT布局管理之QSplitter实现分割窗口
创建主分割并填充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();

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

QT布局管理之QSplitter实现分割窗口
最终效果图

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

QT布局管理之QSplitter实现分割窗口
拖拽后的效果

 

相关标签: Qt qt