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

来源:互联网 发布:太平洋炒股软件下载 编辑:程序博客网 时间:2024/04/30 01:34

//全部基于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();
}

0 0
原创粉丝点击