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

一、新建工程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();

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

最终效果图

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

拖拽后的效果

猜你喜欢

转载自blog.csdn.net/m0_49047167/article/details/108394488
今日推荐