社区
Qt
帖子详情
QAbstractItemModel::data 调用的问题
q672856032
2011-01-26 04:36:53
目前在学习c++ gui qt的编程,就是第十章里面的钱币换算的程序有一个问题不太理解。
class CurrencyModel : public QAbstractTableModel
CurrencyModel重写了data方法。可是我的问题是在CurrencyModel类没有对data进行调用,我想知道data方法是什么时候调用的是在父类吗??
...全文
939
5
打赏
收藏
QAbstractItemModel::data 调用的问题
目前在学习c++ gui qt的编程,就是第十章里面的钱币换算的程序有一个问题不太理解。 class CurrencyModel : public QAbstractTableModel CurrencyModel重写了data方法。可是我的问题是在CurrencyModel类没有对data进行调用,我想知道data方法是什么时候调用的是在父类吗??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhu_xz
2011-01-26
打赏
举报
回复
[Quote=引用 3 楼 prochsh 的回复:]
没仔细看,刚才看了QAbstractTableModel这个类貌似没有data方法
[/Quote]
这个是继承自父类QAbstractItemModel的纯虚方法
q672856032
2011-01-26
打赏
举报
回复
[Quote=引用 3 楼 prochsh 的回复:]
没仔细看,刚才看了QAbstractTableModel这个类貌似没有data方法
[/Quote]
QAbstractTableMode也是从它的父类继承来的
信念
2011-01-26
打赏
举报
回复
没仔细看,刚才看了QAbstractTableModel这个类貌似没有data方法
q672856032
2011-01-26
打赏
举报
回复
补充一下data 方法描述 CurrencyModel::data(const QModelIndex &index, int role)
信念
2011-01-26
打赏
举报
回复
Model是被set到view里,view通过系统调用data
Qt模型视图框架:Q
Abstract
Item
Model
一、概述 Q
Abstract
Item
Model
类定义了项目模型必须使用的标准接口,以便能够与模型/视图框架中的其他组件进行互操作。 正确用法是将其子类化以创建新模型。 此类用作 QML 中的项目视图元素或 Qt Widgets 模块中的项目视图类的底层数据模型。 如果需要一个模型与项目视图一起使用,例如 QML 的列表视图元素或 C++ 小部件 QListView 或 QTableView,则应该考虑子类化 Q
Abstract
List
Model
或 Q
Abstract
Table
Model
而不是此类
简单描述Q
Abstract
Item
Model
::
data
Changed() 与 Q
Abstract
Item
Model
::
data
() 的关系
Q
Abstract
Item
Model
::
data
() 在两种情况下被触发: 1) Q
Abstract
Item
Model
释放
data
Changed 信号时; 2)Q
Abstract
Item
Model
调用
appendRow方法时。但是
data
Changed 并不能总是触发
data
函数。下面用一个例子 来说明。 先建立一个mainwindow类,里面含有一个ui,ui中包含qtablevie
重写Q
Abstract
Item
Model
-------.h文件 class SolaTableHeader
Model
:public Q
Abstract
Item
Model
{ Q_OBJECT public: SolaTableHeader
Model
(QObject *parent = 0); Q
Model
Index index(int row, int column,
Q
Abstract
Item
Model
总结
** Q
Abstract
Item
Model
** 1)当Q
Abstract
Item
Model
还没有内容时,
data
() 函数不会响应
data
Changed信号; 2)当Q
Abstract
Item
Model
调用
appendRow方法后,会自动
调用
data
(); 3)只有当Q
Abstract
Item
Model
有内容时,
data
()才会响应
data
Changed()。
data
Changed()的前两个变量分别表示数据变化区域的左上角和右下角。事实上,一个
data
Changed()会触发
data
()好几次,不仅
QTreeView+Q
Abstract
Item
Model
,自定义
model
,支持拖拽
Header:qmake:QT += core继承自:QObject子类:Q
Abstract
Item
Model
类定义了
item
model
必须使用的标准接口,以便能够与
model
/view体系结构中的其他组件进行交互。它不应该被直接实例化,应该将其子类化以创建新模型。Q
Abstract
Item
Model
类是模型/视图类之一,是Qt的模型/视图框架的一部分。它可以用作QML中的
item
视图元素或Qt Widgets 模块中的
item
view类的基础数据模型。
Qt
21,503
社区成员
26,693
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章