首先新建项目,去掉建立界面的选项,开始本身编写。code
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控件哦。假设此时你再添加按钮什么的,你会发现白色区域的空间会变小。因此要全面看待分割,他是把一个窗口给分割了。get