QT 分割窗口Splitter类

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui {
    
     class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    
    
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    
    
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    
    
    delete ui;
}


main.cpp

#include "mainwindow.h"

#include <QApplication>
#include <QSplitter>
#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("Left Widget", splitterMain);
    textLeft->setAlignment(Qt::AlignCenter);
    //Qt::AlignLeft Qt::AlignRight Qt::AlignTop Qt::AlignBottom Qt::AlignCenter Qt::Align ;

    //右分割窗口
    QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain);
    splitterRight->setOpaqueResize(false); //true;

    QTextEdit *textUp = new QTextEdit("Top Widget", splitterRight);
    textUp->setAlignment(Qt::AlignCenter);

    QTextEdit *textDown = new QTextEdit("Down Widget", splitterRight);
    textDown->setAlignment(Qt::AlignCenter);
    splitterMain->show();

//    MainWindow w;
//    w.show();

    return a.exec();
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u013420428/article/details/109670220