QT5布局管理——分割窗口QSplitter类

时间:2021-06-27 23:13:36

1.新建QTGui应用,项目名自定义,基类选择“QMainWindow”

2.在“main.cpp"添加如下代码:

#include <QtWidgets/QApplication>
#include <Qsplitter>
#include <QTextCodec>
#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);//设定此分割窗口为水平分割,Qt::Vertical为竖直分割
QTextEdit *textLeft = new QTextEdit(QObject::tr("Left Widget"), splitterMain);//将textleft插入主分割窗口
textLeft->setAlignment(Qt::AlignCenter);//设置TextEdit中文字对齐方式
//Qt::AlignLeft左对齐 Qt::AlignRight右对齐 Qt::AlignHCenter水平居中  Qt::AlignVCenter竖直居中  Qt::AlignUp顶端对齐Qt::AlignBottom顶端对齐
//右部分分割窗口
QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain);//以主分割窗口为父窗口
splitterRight->setOpaqueResize(false);//在拖拽只显示一条灰色的粗线
QTextEdit *textup= new QTextEdit(QObject::tr("Top Widget"), splitterRight);
textup->setAlignment(Qt::AlignCenter);
QTextEdit *textBottom = new QTextEdit(QObject::tr("Bottom Widget"), splitterRight);
textBottom->setAlignment(Qt::AlignCenter);
splitterMain->setStretchFactor(1, 1);//第一个参数用于指定设置的控件序号,控件序号按插入的先后次序从0编号,第二个参数大于0,表示可伸缩控件
splitterMain->setWindowTitle(QObject::tr("Splitterdemo"));//窗口标题
splitterMain -> show();
    //Splitterdemo w;
    //w.show();
    return a.exec();
}

注:代码注释于延伸已经在后面叙述

3.运行效果:

QT5布局管理——分割窗口QSplitter类 QT5布局管理——分割窗口QSplitter类 QT5布局管理——分割窗口QSplitter类