当我展开节点时,everythig效果很好:
void DTree::expand(const QModelIndex & index){
if (treeModel->hasChildren(index)) return;
DNode &node = *static_cast<DNode*>(index.internalPointer());
qint32 size = node.makeChildren();
treeModel->beginInsertRows(index, 0, size);
treeModel->endInsertRows();
setExpanded(index, true);
}
但是当我尝试在其方法中显示节点时,它失败了:
qint64 DNode::ins(){
.... some code of adding to database a new node
// here I try to make node show. ord() - new node's order in DB which starts with 1
treeModel->beginInsertRows(treeModel->createIndex(parent->ord() - 1, 0,
parent), ord() - 1, ord() - 1);
treeModel->endInsertRows();
........
}
我试图使用QPersistentModelIndex - 徒劳无功。 提前谢谢!