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

来源:互联网 发布:览物之情得无异乎翻译 编辑:程序博客网 时间:2024/06/04 18:29

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

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控件哦。假设此时你再添加按钮什么的,你会发现白色区域的空间会变小。所以要全面看待分割,他是把一个窗口给分割了。



0 0
原创粉丝点击