首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引:QAbstractTableModel()与createIndex()

索引:QAbstractTableModel()与createIndex()
EN

Stack Overflow用户
提问于 2012-11-18 06:56:32
回答 2查看 6.4K关注 0票数 4

在对QAbstractTableModel进行子类化时,获取给定行和列的数据的正确方法是什么(例如,提供一个方便的方法QModelIndex ( int row,int column))?

有索引()和createIndex() --它们似乎都是这样做的?

示例:

代码语言:javascript
复制
TableModel::data(int row, int column, int role) const
{
    return data(index(row, column), role);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-18 11:34:52

你想要的是索引(),createIndex()是子类用来生成索引的。但是,QModelIndex有一个data()成员。因此,模型->索引(行、列)角色(.data)可能是您想要的。不需要辅助函数。

票数 5
EN

Stack Overflow用户

发布于 2012-11-18 11:47:18

我想说index()是这里惯用的方式,那么你的代码就是正确的。

通常,当您需要覆盖QAbstractItemModel ()和parent()方法时,createIndex()用于QAbstractItemModel的子类中。因为QModelIndex构造函数是私有的,所以必须使用createIndex()来创建新的索引。

此外,QModelIndex可以存储一些内部数据(QModelIndex::internalPointer)。createIndex()还用于传递指向创建的QModelIndex的内部指针。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13435627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档