一 Qt Model View 的簡單說明

2021-07-03 21:08:56 字數 1296 閱讀 9169

1、利用 qt 的模型 / 檢視架構,我們可以只從模型中獲取實際在檢視中顯示所需要的資料。這樣在處理非常大的資料集的時候,可以更加快速,而不至於降低效能。通過把乙個模型註冊到兩個或多個檢視,就可以讓使用者使用不同的方式檢視資料以及和資料互動。 qt 對於多個檢視會自動保持同步,從而使對乙個檢視的改變會影響到全部檢視。

2、模型 / 檢視架構的另外乙個好處是:如果決定改變底層資料集的儲存方式,只需要修改模型,而檢視仍能夠繼續正常工作。

為了充分使用qt 模型 / 檢視的好處,我們不想再採取 qt 以前版本中的項檢視簡便類ql

istwidget、 qt

ablewidget、 qt

reewidget。它們需要讀取要被設定到乙個項檢視視窗部件中的所有資料、使用項物件呈現資料元素並且回寫資料來源。

qt4使用預定義模型 劃線的是qt4.7 中已經不再推介的 model 類

用於儲存簡單的字串列表。

qstandarditemmodel  儲存

任意的分層次的資料,管理複雜的樹型結構資料項,每項都可以包含任意資料。 q

dirmodel

(最新版已經用

qfilesystemmodel

代替這個類了)

封裝本地檔案系統

qsqlquerymodel

封裝乙個sql資料集

qsqltablemodel

封裝乙個sql表

qsqlrelationtablemodel

利用外來鍵封裝乙個sql表

qsortfileterproxymodel

排序和/

或篩選另乙個模型

假如這些標準model不滿足你的需要,你應該子類化qabstractitemmodel,qabstractlistmodel

或是qabstracttablemodel來定製。

qt中檢視類的繼承關係如下圖

qt中委託的繼承關係見下圖

來自

一 簡單的程式設計

一 基本結構 include using namespace std int main cout hello 基本結構很簡單,下面做乙個輸入輸出的例子 例題 輸入球的半徑,分別計算球的表面積和體積,並輸出 球表面積s 4 pi r 2,體積v 4 3 pi r 3 include using nam...

簡單的DragView(一)

寫乙個dra iew 繼承 view,重寫ontouchevent方法 首先 int x int event.getrawx int y int event.getrawy 獲得實時的手指座標。然後,判斷觸控事件 down mlastx x mlasty y move offsetx x mlast...

C RTTI的簡單實現 一

為了加深對rtti的理解,嘗試實現了乙個rtti系統。不過做的比較簡陋,功能如下 typeid的識別利用虛函式實現,利用虛函式的性質可以讓物件輸出真正的型別標誌,而不會被其宣告的型別所改變。為了安全的造型,實現了乙個繼承鏈。在系統內,每個類的宣告裡會加上乙個s rttinode,用於儲存繼承資訊,包...