QTreeView / QAbstractItemModel - 添加项目并使用beginInsertRows

时间:2011-09-13 13:05:03

标签: qt qt4 qtreeview qabstractitemmodel

我正在基于QAbstractItemModel实现我的模型,我正在使用QTreeView来显示分层数据。数据存储在sqlite表中。

我的问题是在添加子节点时应该如何调用beginInsertRows。 假设我有一些父节点,它包含10个子节点。我想添加新的子节点(最后)。

我这样做:

beginInsertRows(parentIndex, currentNodesCount, currentNodesCount);
// actual inserting
endInsertRows()

currentNodesCount包含值10,它是此子节点中的行数。 新节点将被放置在第11个位置(从0开始计数10)。

这个逻辑是否正确?

感谢您的帮助。


我也想知道如何使用beginRemoveRows。

这是否正确:

beginRemoveRows(parentIndex, currentRow, currentRow);
// delete record
endRemoveRows();

currentRow包含从0开始计算的已删除节点列表中的位置。

1 个答案:

答案 0 :(得分:3)

是的就是这样。

这是你唯一的问题吗?