转载:omydocument
主窗口本身就带着菜单,工具栏,和状态栏,作为一个基本应用,这些都不用操心。
一个工具,需要把窗口切分成三部分,左边,右上,右下。左边显示选择的功能,右上是主窗口。右下作为状态窗口。
在上篇的基础上,采用系统窗口形式,不再在main上开窗口。也就是用桌面设计模式。
1 #include "mainwindow.h" 2 #include <QApplication> 3 int main(int argc, char *argv[]) 4 { 5 QApplication a(argc, argv); 6 MainWindow w; 7 w.show(); 8 return a.exec(); 9 } 10 11 #include <QTextEdit> 12 #include <QMdiSubWindow> 13 #include "mainwindow.h" 14 #include "ui_mainwindow.h" 15 MainWindow::MainWindow(QWidget *parent) : 16 QMainWindow(parent), 17 ui(new Ui::MainWindow) 18 { 19 ui->setupUi(this); 20 pSpliter = new QSplitter(Qt::Horizontal,ui->centralWidget); 21 QTextEdit* pLeftEdt = new QTextEdit(pSpliter); 22 pLeftEdt->setText(QObject::tr("左窗口")); 23 pLeftEdt->setDisabled(false); 24 pSpliter_right = new QSplitter(Qt::Vertical, pSpliter); 25 pSpliter->setStretchFactor(0, 1);//两句设置左右两列的宽度比为1:4 26 pSpliter->setStretchFactor(1, 4); 27 pSpliter_right->setStretchFactor(0, 1);//两句设置上下的高度比为1:4 28 pSpliter_right->setStretchFactor(1, 4); 29 QTextEdit* pRightEdt1 = new QTextEdit(pSpliter_right); 30 pRightEdt1->setText(QObject::tr("右上窗口")); 31 pRightEdt1->setDisabled(true); 32 QTextEdit* pRightEdt2 = new QTextEdit(pSpliter_right); 33 pRightEdt2->setText(QObject::tr("右下窗口")); 34 pRightEdt2->setDisabled(true); 35 pSpliter->setWindowTitle(QObject::tr("切分窗口演示")); 36 pSpliter->show(); 37 } 38 MainWindow::~MainWindow() 39 { 40 delete ui; 41 }
运行后,效果如下:
原文地址:https://www.cnblogs.com/fuqia/p/9061517.html
时间: 2024-10-24 11:43:59