qt 分割窗口

左右分隔窗口例子:

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

#pragma execution_character_set("utf-8")

int main(int argc, char *argv[])
{
    qDebug("Mainframe start...\n");
    QApplication a(argc, argv);
    QFont font("ZYSong18030" ,12);
    a.setFont(font);
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

    //主窗口左右分隔
    QSplitter *splitMain=new QSplitter(Qt::Horizontal,0);
    //QTextEdit *textLeft=new QTextEdit(QObject::tr("left Widget"),splitMain);

    QTextEdit *textLeft=new QTextEdit();
    textLeft->setAlignment(Qt::AlignCenter);
    textLeft->setText(QObject::tr("左窗口 "));

    QTextEdit *pRightEdt =new QTextEdit();
    pRightEdt ->setAlignment(Qt::AlignCenter);
    pRightEdt ->setText(QObject::tr("右窗口 "));


    splitMain->addWidget(textLeft);
    splitMain->addWidget(pRightEdt);


    splitMain->setStretchFactor(0, 1);//下面两句设置左右两列的宽度比为1:4
    splitMain->setStretchFactor(1, 4);

    splitMain->setWindowTitle(QObject::tr("Splitter 窗口例子"));
    splitMain->show();
    //MainWindow w;
    //w.show();

    return a.exec();
}

运行效果如下:




左右(上下)拆分

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

#pragma execution_character_set("utf-8")

int main(int argc, char *argv[])
{
    qDebug("Mainframe start...\n");
    QApplication a(argc, argv);
    QFont font("ZYSong18030" ,12);
    a.setFont(font);
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

    //主窗口左右分隔
    QSplitter *splitMain=new QSplitter(Qt::Horizontal,0);
    QTextEdit *textLeft=new QTextEdit(QObject::tr("left Widget"),splitMain);
    textLeft->setAlignment(Qt::AlignCenter);





    splitMain->addWidget(textLeft);

    splitMain->setStretchFactor(0, 1);//下面两句设置左右两列的宽度比为1:4
    splitMain->setStretchFactor(1, 4);



    QSplitter *pRightSpliter = new QSplitter(Qt::Vertical, splitMain);

    QTextEdit* pRightTopEdt = new QTextEdit(pRightSpliter);
    pRightTopEdt->setText(QObject::tr("右上窗口"));
    QTextEdit* pRightBtmEdt = new QTextEdit(pRightSpliter);
    pRightBtmEdt->setText(QObject::tr("右下窗口"));


    pRightSpliter->setStretchFactor(0, 1);//右面窗口上下窗口高度比为1:4
    pRightSpliter->setStretchFactor(1, 4);


    splitMain->setWindowTitle(QObject::tr("Splitter 窗口例子"));
    splitMain->show();
    //MainWindow w;
    //w.show();

    return a.exec();
}

界面如下:


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值