日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT学习:模型/视图基本概念

發(fā)布時間:2024/9/30 c/c++ 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT学习:模型/视图基本概念 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Qt的模型/視圖結(jié)構(gòu)分為三部分:模型(Model)、視圖(View)和代理(Delegate)。其中,模型與數(shù)據(jù)源通信,并為其他部件提供接口;而視圖從模型中獲得用來引用數(shù)據(jù)條目的模型索引(Model Index)。在視圖中,代理負(fù)責(zé)繪制數(shù)據(jù)條目,當(dāng)編輯條目時,代理和模型直接進(jìn)行通信。模型/視圖/代理之間通過信號和槽進(jìn)行通信,如圖所示:

(1)數(shù)據(jù)發(fā)生改變時,模型發(fā)出信號通知視圖。
(2)用戶對界面進(jìn)行操作,視圖發(fā)出信號。
(3)代理發(fā)出信號告知模型和視圖編輯器目前的狀態(tài)。

一、模型

InterView框架中的所有模型都基于抽象基類QAbstractItemModel,此類由QProxyModel、QAbstractListModel、QAbstractTableModel、QAbstractProxyModel、QDirModel、QFileSystemModel、QHelpContentModel和QStandardItemModel類繼承。其中,QAbstractListModel類和QAbstract TableModel類是列表和表格模型的抽象基類,如果需要實現(xiàn)列表或表格模型,則應(yīng)從這兩個類繼承。完成QStringList存儲的QStringListModel類繼承自QAbstractListModel類,而與數(shù)據(jù)庫有關(guān)的QSqlQueryModel類繼承自QAbstractTableModel類;QAbstractProxyModel類是代理模型的抽象類;QDirModel類是文件和目錄的存儲模型。

二、視圖(View)

InterView框架中的所有視圖都基于抽象基類QAbstractItemView,此類由QColumnView、QHeaderView、QListView、QTableView和QTreeView類繼承。其中,QListView類由QUndoView類和QListWidget類繼承;QTableView類由QTableWidget類繼承;QTreeView類由QTreeWidget類繼承。而QListWidget類、QTableWidget類和QTreeWidget類實際上已經(jīng)包含了數(shù)據(jù),是模型/視圖集成在一起的類。

三、代理(Delegate)

InterView框架中的所有代理都基于抽象基類QAbstractItemDelegate,此類由QItemDelegate和 QStyledItemDelegate類繼承。其中,QItemDelegate類由表示數(shù)據(jù)庫中關(guān)系代理的QSqlRelationalDelegate類繼承。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的QT学习:模型/视图基本概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。