自学QT之实现窗口分割QSplitter的使用

大城市里の小女人 提交于 2021-02-18 06:19:25

首先新建项目,去掉创建界面的选项,开始自己编写。

main.cpp文件的源码如下:

#include "mainwindow.h"
#include <QApplication>
#include <QSplitter>
#include <QFont>
#include <QTextEdit>

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("right widget"),splitterRight);
    textUp->setAlignment(Qt::AlignCenter);
    QTextEdit *textBottom =new QTextEdit(QObject::tr("bottom widget"),splitterRight);
    textBottom->setAlignment(Qt::AlignCenter);
    splitterMain->setStretchFactor(1,2);//设置控件序号和可伸缩性
    splitterMain->setWindowTitle(QObject::tr("splitter"));
    splitterMain->show();



    return a.exec();
}

运行后的结果如图:

特别说明:在运行效果中看到的窗口并不是说被这么分割,白色的部分是一个edit控件哦。假设此时你再添加按钮什么的,你会发现白色区域的空间会变小。所以要全面看待分割,他是把一个窗口给分割了。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!