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

Qt中的MDI多对话框程序框架

2016-05-13 20:44 423 查看
//全部基于MainWindow

//----------------------------------------------------------------------      1

#include <QMainWindow>

#include <QMdiArea>

class MainWindow : public QMainWindow

{   

private:

    Ui::MainWindow *ui;

    QMdiArea *m_mdiArea;

    QMdiSubWindow *subWin; 

};

//----------------------------------------------------------------------------   2

 void MainWindow::CreateMdiArea()

 {

     //设定MDI

     m_mdiArea = new QMdiArea;

     this->setCentralWidget(m_mdiArea);

     //设置启动窗口

     Dialog333 *label = new Dialog333();

     subWin = new QMdiSubWindow;

     subWin->setWidget(label);

     subWin->setAttribute(Qt::WA_DeleteOnClose);

     m_mdiArea->addSubWindow(subWin);

     subWin->setWindowFlags(Qt::FramelessWindowHint);

     subWin->setStyleSheet("QPushButton {background: white;border: 1px solid rgb(41, 57, 85);border-radius: 3px; font-weight: bold; QPushButton:hover { background: lightgray;}");

     subWin->setStyleSheet("QLabel #Title{color:blue;}");

     subWin->resize(QSize(1200,800));

     subWin->show();

 }

//---------------------------------------------------------------------  3

void MainWindow::open()

{


//设置启动窗口

m_mdiArea->closeAllSubWindows();

Dialog222 *label = new Dialog222();

subWin = new QMdiSubWindow;

subWin->setWidget(label);

subWin->setAttribute(Qt::WA_DeleteOnClose);

m_mdiArea->addSubWindow(subWin);

subWin->setWindowFlags(Qt::FramelessWindowHint);

subWin->setStyleSheet("QPushButton {background: white;border: 1px solid rgb(41, 57, 85);border-radius: 3px; font-weight: bold; QPushButton:hover { background: lightgray;}");

subWin->resize(QSize(1200,800));

subWin->show();

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