QT5 分割窗口

分割窗口
QT5 分割窗口

#include<QSplitter>

实例化一个主分割窗口,然后在加上其他分割窗口在上面

  • QSplitter *splitterMain =new QSplitter(Qt::Horizontal,0);//水平分割方式

实例化小分割窗口加在主分割窗口上面

  • QSplitter *splitterRight=new QSplitter(Qt::verticcal,splitterMain);//右边小分割窗口

把QLabel,QTextEdit等文本编辑加到分割窗口上面

  • new TextEdit *text=new QTextEdit(QObject::tr(“输入内容”),splitterMain);

文本文字的文字对齐方式

  • text->setAlignment(Qt::AlignCenter)//文字居中对齐
Qt::AlignLeft 左对齐
Qt::AlignRight 右对齐
Qt::AlignUp 文字与顶端对齐
Qt::AlignBottom 文字底部对齐
Qt::AlignCenter 居中对齐
  • splitterMain->setStretchFactor(1,1):

用于设定可伸缩控件,第一个参数用于指定控件的序号,控件序号按插入的先后从0依次开始编号;
// main.cpp

   QApplication a(argc, argv);
    QFont font("ZYsong18030",12);
    a.setFont(font);
    //分割主窗口
    QSplitter *splitterMain=new QSplitter(Qt::Horizontal,nullptr);//水平分割方式
    QTextEdit *textLeft=new QTextEdit(QObject::tr("左边分割窗口"),splitterMain);
    textLeft->setAlignment(Qt::AlignCenter);//字体居中

    //右边分割窗口
    QSplitter *splitterRight=new QSplitter(Qt::Vertical,splitterMain);//垂直分割方式
    splitterRight->setOpaqueResize(false);

    QTextEdit *textUp=new QTextEdit (QObject::tr("上分割窗口"),splitterRight);
    textUp->setAlignment(Qt::AlignHCenter);

    QTextEdit *textButtom=new QTextEdit(QObject::tr("底部分割窗口"),splitterRight);
    textButtom->setAlignment(Qt::AlignCenter);

    splitterMain->setStretchFactor(0,1);//用于设定可伸缩控件,第一个参数用于指定控件的序号,控件序号按插入的先后从0依次开始编号;
    splitterMain->setWindowTitle("splitter");
    splitterMain->show();
    
    return a.exec();