2017-01-13 79 views
0

比方说,我决定从我的模型中随机删除一些项目。我有这些项目的参考,但这还不足以正确调用beginRemoveRows()方法。它需要知道每个项目的QModelIndex。从QTreeView删除项目没有QModelIndex

但是为了获得项目的QModelIndex,我需要知道父项的QModelIndex!

virtual QModelIndex  index(int row, int column, const QModelIndex & parent = QModelIndex()) 

只有RootItem没有父项,因此不需要QModelIndex。所以我需要从那里开始递归地遍历所有的孩子,直到每个项目都有适当的QModelIndex,如果这是正确的做事方式。

有没有更好的方式来获得QModelIndex的随机项目?

回答

0

没关系。显然,我可以使用createIndex方法为我的项目创建一个QModelIndex。

QModelIndex QAbstractItemModel::createIndex(int arow, int acolumn, void *adata) const