QT的Mdi,modle與view視圖
一.QT的QMdiArea簡介
? ? QMdiArea主要用于有多文檔界面(Multi-document Interface,MDI)的應用程序設計中。? ? ? ? QMdiArea是在主窗口工作區(qū)放置一個QMdiArea作為子窗體的容器。
? ? ?MDI應用程序就是在主窗口里創(chuàng)建多個同類型的MDI子窗口,這些MDI子窗口在主窗口里顯示,并共享主窗口上的工具欄和菜單欄等操作功能,主窗口上的操作都針對當前活動的MDI子窗口進行。

二、QMdiArea的成員方法
(1)子窗口的創(chuàng)建與加入


?(2)子窗口層疊、并列

(3)關閉全部子窗口?
?(4)顯示模式
? ?有兩種:子窗口模式、多頁模式
子窗口模式類似下圖:

多頁模式類似下圖:

QMdiArea可以在Ui界面文件中去設置其相關的屬性

三、Moudel/View結構
moudel是存放數(shù)據(jù)的,但不能顯示數(shù)據(jù)。
view是顯示數(shù)據(jù)的,但不能存放數(shù)據(jù)。
主要的view結構有:QListView、QTreeView、QTableView...
數(shù)據(jù)模型moudle有:QStandardItemModel、QStringListModel...
此次使用的是:QTableView與QStandardItemModel
QTableView:用于顯示表格狀態(tài)的數(shù)據(jù)
QStandardItemModel:標準的moudel,每個項數(shù)據(jù)可以是任意的數(shù)據(jù)。
四、Moudel/View基本原理

五、Moudel/View的某些概念
數(shù)據(jù)模型中的存儲單元是項,每一個項都有行號、列號、父項(parent item)。在列表和表格模式下,每個項都有一個頂層項,此時,父項就是頂層項,頂層項用QModelIndex()來表示。
? ? 訪問moudel中的數(shù)據(jù)是通過模型索引來進行的。要獲得一個模型索引,必須提供行號、列號、父項這3個參數(shù)。比如
想獲得如下圖的A、B、C的模型索引。

六、對Moudel/View的項設置數(shù)據(jù)
七、程序界面


八、代碼
mainwindow.h
mainwindow.cpp
結果
