QModelIndex.model().data 和 QModelIndex.data 有什么区别?
What is the difference between QModelIndex.model().data and QModelIndex.data?
通过 QModelIndex 的文档,我注意到它有一个 data()
方法来从模型中获取数据。我见过的所有教程都使用 index.model().data(index, role)
来获取索引处的数据。我觉得这很奇怪,因为 index.data()
似乎更容易使用。
我搜索了一下,但找不到任何使用 index.data()
的代码或任何比较这两种方法的代码。
这两种方法在功能上是否等效,或者是否有超出个人偏好的原因而使用其中一种?
它们是等价的,QModelIndex::data(role)
是 QAbstractItemModel::data(index, role)
的快捷方式。如果你已经有一个索引对象会更方便,但是 data()
的实现位于模型中。
通过 QModelIndex 的文档,我注意到它有一个 data()
方法来从模型中获取数据。我见过的所有教程都使用 index.model().data(index, role)
来获取索引处的数据。我觉得这很奇怪,因为 index.data()
似乎更容易使用。
我搜索了一下,但找不到任何使用 index.data()
的代码或任何比较这两种方法的代码。
这两种方法在功能上是否等效,或者是否有超出个人偏好的原因而使用其中一种?
它们是等价的,QModelIndex::data(role)
是 QAbstractItemModel::data(index, role)
的快捷方式。如果你已经有一个索引对象会更方便,但是 data()
的实现位于模型中。