MDI QMdiArea 多文檔區域


Qt下創建類似window平台的MDI多文檔區域使用QMdiArea

    
    QMdiArea * mdiArea;
    mdiArea = new QMdiArea(this); //A widget 為window MDI 提供一個區域
    mdiArea->setFocusPolicy(Qt::ClickFocus);  //接收鼠標單擊策略
    mdiArea->setViewMode(QMdiArea::TabbedView); //頁切換模式 tab模式
    mdiArea->setTabsClosable(false);//每個tab上放置紅叉關閉某一個tab ,false:沒有叉;true:有叉
    mdiArea->setTabsMovable(true);//多個tab可鼠標拖動擺放順序
    mdiArea->setTabShape(QTabWidget::Triangular);//tab的形狀,Rounded圓角型;Triangular三角形

    QVBoxLayout * lyt = new QVBoxLayout; //垂直布局管理器
    lyt->setContentsMargins(0,0,0,0);//左上右下 的margin ,around the layout(lyt)
    lyt->addWidget(mdiArea);//在layout(lyt)的末尾添加 widget(mdiArea)


    QFrame * frm = new QFrame(this); //創建一個框架
    frm->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);//框架顯示外形。
                       //StylePanel畫一個矩形面板,根據當前GUI風格的不同而不同,可被凸起或凹陷
                       //Sunken畫一個3D的凹陷顯示效果
    frm->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);//大小策略
                        //水平和垂直都可收縮(shrunk)
    frm->setLayout(lyt);//設置frm的布局管理
                   //如果此widget(frm)上已有 layout ,那么必須先刪除已有的,再添加新的
    setCentralWidget(frm);//設置參數為 main window's central widget

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM