大多数复杂的程序,都使用MDI框架,在Qt designer中可以直接将控件MDI Area拖入使用。
QMdiArea一般使用于主窗口中,用于容纳多个子窗口QMdiSubWindow
代码如下:
mainwindow.h
1#ifndef MAINWINDOW_H 2#define MAINWINDOW_H 3 4 #include5 #include6 #include7 #include8 9namespace Ui { 10class MainWindow; 11} 1213class MainWindow :public QMainWindow 14{ 15 Q_OBJECT 1617public: 18explicit MainWindow(QWidget *parent =0); 19 ~MainWindow(); 2021private: 22 Ui::MainWindow *ui; 23 QMdiSubWindow *newwin; 2425private slots: 26void on_btnCloseAll_clicked(); 27void on_btnClose_clicked(); 28void on_btnNext_clicked(); 29void on_btnPrevious_clicked(); 30void on_btnNewWindow_clicked(); 31void on_btnRemoveWindow_clicked(); 3233}; 3435#endif// MAINWINDOW_H
mainwindow.cpp
1 #include"mainwindow.h" 2 #include"ui_mainwindow.h" 3 4 MainWindow::MainWindow(QWidget *parent) : 5 QMainWindow(parent), 6 ui(new Ui::MainWindow) 7{ 8 ui->setupUi(this); 910//window111 QTextEdit *window1 =new QTextEdit; 12 window1->setHtml("C"); 13 ui->mdiArea->addSubWindow(wind