您的位置:首页 > 编程语言 > Qt开发

QT 5 初学1 多窗口切分-续

2016-02-02 22:50 411 查看
主窗口本身就带着菜单,工具栏,和状态栏,作为一个基本应用,这些都不用操心。一个工具,需要把窗口切分成三部分,左边,右上,右下。左边显示选择的功能,右上是主窗口。右下作为状态窗口。

在上篇的基础上,采用系统窗口形式,不再在main上开窗口。也就是用桌面设计模式。

#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}

#include <QTextEdit>
#include <QMdiSubWindow>
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
pSpliter       = new QSplitter(Qt::Horizontal,ui->centralWidget);
QTextEdit* pLeftEdt = new QTextEdit(pSpliter);
pLeftEdt->setText(QObject::tr("左窗口"));
pLeftEdt->setDisabled(false);
pSpliter_right = new QSplitter(Qt::Vertical, pSpliter);
pSpliter->setStretchFactor(0, 1);//两句设置左右两列的宽度比为1:4
pSpliter->setStretchFactor(1, 4);
pSpliter_right->setStretchFactor(0, 1);//两句设置上下的高度比为1:4
pSpliter_right->setStretchFactor(1, 4);
QTextEdit* pRightEdt1 = new QTextEdit(pSpliter_right);
pRightEdt1->setText(QObject::tr("右上窗口"));
pRightEdt1->setDisabled(true);
QTextEdit* pRightEdt2 = new QTextEdit(pSpliter_right);
pRightEdt2->setText(QObject::tr("右下窗口"));
pRightEdt2->setDisabled(true);
pSpliter->setWindowTitle(QObject::tr("切分窗口演示"));
pSpliter->show();
}
MainWindow::~MainWindow()
{
delete ui;
}


运行后,效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: