代码:

#include "mainwindow.h"
#include "mainwindow.h"
#include <QApplication>
#include <QSplitter>
#include <QTextCodec>
#include <QTextEdit>
#include <QObject>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFont font("ZYSong18030",12);//指示显示字体
    QSplitter *splitterMain =new QSplitter(Qt::Horizontal,0);//新建一个QSplitter类对象
    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("Top Widget"),splitterRight);
    textUp->setAlignment(Qt::AlignCenter);

    QTextEdit *textBottom =new QTextEdit(QObject::tr("Bottom Widget"),splitterRight);
    textBottom->setAlignment(Qt::AlignCenter);
    splitterMain->setStretchFactor(1,1);//用于设定可伸缩空间
    splitterMain->setWindowTitle(QObject::tr("Splitter"));
    splitterMain->show();
    //MainWindow w;
    //w.show();
    return a.exec();
}

运行结果
在这里插入图片描述
函数讲解:

  1. QFont font(“ZYSong18030” , 12); a.setFont(font); 这两句代码用于指定显示的字体。
  2. QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0); 新建一个QSplitter类对象,作为主分割窗口,并且设定此窗口为水平分割窗口。
  3. QTextEdit *textLeft = new QTextEdit(QObject::tr(“左部件”),splitterMain); 新建一个QTextEdit类对象,并将其插入主分割窗口。

textLeft->setAlignment(Qt::AlignCenter); 设置TextEdit对象中文本的对齐方式。
水平对齐方式有:
Constant Value Description
Qt::AlignLeft 0x0001 Aligns with the left edge.
Qt::AlignRight 0x0002 Aligns with the right edge.
Qt::AlignHCenter 0x0004 Centers horizontally in the available space.
Qt::AlignJustify 0x0008 Justifies the text in the available space.
垂直对齐方式有:
Constant Value Description
Qt::AlignTop 0x0020 Aligns with the top.
Qt::AlignBottom 0x0040 Aligns with the bottom.
Qt::AlignVCenter 0x0080 Centers vertically in the available space.
Qt::AlignBaseline 0x0100 Aligns with the baseline.

QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain); 新建一个QSplitter类对象,作为右分割窗口,并以主分割窗口作为父窗口。设定分割窗口为垂直分割窗口。

  1. splitterRight->setOpaqueResize(true); 设定在拖拽分割条时,是否实时更新。若为true,则实时更新;否则在拖拽时显示一条虚线。

  2. splitterMain->setStretchFactor(1,1); 此函数用于设定:控件是否可伸缩。第一个参数用于指定控件的序号。第二个函数大于0时,表示控件可伸缩,小于0时,表示控件不可伸缩。
    参考博客:
    Qt分局管理:分割窗口

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐