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

时间:2023-03-08 19:38:29

转载:omydocument

主窗口本身就带着菜单,工具栏,和状态栏,作为一个基本应用,这些都不用操心。

一个工具,需要把窗口切分成三部分,左边,右上,右下。左边显示选择的功能,右上是主窗口。右下作为状态窗口。
在上篇的基础上,采用系统窗口形式,不再在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(, );//两句设置左右两列的宽度比为1:4
pSpliter->setStretchFactor(, );
pSpliter_right->setStretchFactor(, );//两句设置上下的高度比为1:4
pSpliter_right->setStretchFactor(, );
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;
}

运行后,效果如下:

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