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
