在QML树控件TreeView的使用(上)篇中,主要介绍了TreeView的使用以及数据的加载显示,在本篇中,将主要介绍TreeModel类的增加数据与删除数据,对树控件TreeView的更新操作。
首先,在TreeView的某个节点增加数据如下:
在树TreeView的某一个节点删除数据(删除该行与其子树)如下:
首先,在TreeView的某个节点增加数据如下:
void TreeModel::appendChild(const QModelIndex& index)
{
TreeItem* clickItem = static_cast<TreeItem*>(index.internalPointer());
/*beginRemoveRows(index, 0, 0);
clickItem->deleteAllChild();
endRemoveRows();*/
removeRows(0, clickItem->childCount(), index);
QList<QVariant> TestItem;
TestItem.append("TestItem");
TestItem.append("TI");
TreeItem* TestItem_Item = new TreeItem(TestItem, clickItem);
QList<QVariant> TestItem2;
TestItem2.append("TestItem2");
TestItem2.append("TI2");
TreeItem* TestItem_Item2 = new TreeItem(TestItem2, TestItem_Item);
beginInsertRows(index, 0, 0);
TestItem_Item->appendChild(TestItem_Item2);
clickItem->appendChild(TestItem_Item);
endInsertRows();
}
在树TreeView的某一个节点删除数据(删除该行与其子树)如下:
bool TreeM

本文档详细介绍了如何在QML的TreeView控件中进行数据的增加和删除操作,包括使用TreeModel类的方法实现节点的添加与移除,并通过QAbstractItemModel的beginInsertRows和beginRemoveRows等函数确保界面及时更新。文中还提供了完整的QML和C++代码示例,展示了如何在QML中响应按钮事件以更新树结构。
最低0.47元/天 解锁文章
5万+





