model/view基本原理
將介面元件與所編輯的資料分離開來,又通過資料來源的方式連線起來,是處理介面與資料的一種較好的方式。qt使用model/view結構來處理這種關係,model/view的基本結構如圖
資料模型
所有的基於項資料(itemdata)的資料模型(model)都是基於qabstractitemmodel類的,這個定義了檢視元件和**訪問資料的介面。資料無線儲存在資料模型裡,資料可以是其他類,檔案,資料庫或任何資料來源。qt中與資料模型相關的幾個主要的類的層次結構如圖
抽象類是不能直接使用的,需要由子類繼承實現。qt提供了一些模型類用於項資料處理,常見的幾
如果這些現有的模型類無法滿足需求,使用者可以從 qabstractitemmodel,qabstractlistmodel,qabstracttablemodel繼承,生成自己定製的資料模型類。
檢視元件
檢視元件(view)就是現實資料摸型的資料的介面元件,qt提供的檢視元件如下
檢視元件在現實資料時,只需要呼叫檢視類的setmodel()函式,為檢視元件設定乙個資料模型就可以實現檢視元件與資料模型之間的關聯,在檢視元件上的修改將自動儲存到關聯的資料模型裡,乙個資料模型可以同時在多個檢視元件裡顯示資料。
使用者model/view結構的幾個檢視類直接從qabstractitemview繼承而來,而便利類則從相應的檢視類繼承而來。
檢視元件類的資料採用單獨的資料模型,檢視元件不儲存資料。便利類則為元件的每個節點或單元格建立乙個項(item),用項儲存資料,格式設定等,所有便利類沒有資料模型,它實際上是用項的方式整合了資料模型的功能。這樣就將介面與資料繫結了。所有便利類缺乏對大型資料來源進行靈活處理的能力,適用於小型資料的顯示和編輯。
Qt學習之路 38 model view架構
從這一節開始,我們進入model view階段。這一階段主要還是依據 c gui programming with qt4,2nd edition。我們的系統有很多資料顯示的需求,比如從資料庫中把資料取出,然後以自己的方式顯示在我們自己的應用程式的介面中。進行這一操作的典型方式是使用qt的item ...
Qt學習筆記
1.參考資料 1 2 3 4 5 6 2.faq 2.1.qt creator 2.1.1.xp下用qt creator編譯自帶例子mdi sdi 當不勾選projects build settings build environment的 clear system environment 時,編譯...
QT學習筆記
1.在windows下配置好qt的環境變數以後,用cmd開始編譯,qmake project qmake hello.pro mingw32 make 結果出現錯誤 include 問題已經解決了,主要是 故而只需在.pro檔案中加入 greaterthan qt major version,4 q...