qt treeview的增删改查
时间: 2023-09-05 09:13:37 浏览: 187
Qt中的QTreeView控件可以用于显示树形数据结构,如文件系统,数据库表等。下面是QTreeView的增删改查的示例代码:
1. 增加节点
```cpp
QStandardItemModel *model = new QStandardItemModel();
QStandardItem *parentItem = model->invisibleRootItem(); // 根节点
// 增加一个子节点
QStandardItem *item = new QStandardItem("子节点");
parentItem->appendRow(item);
// 增加一个带有子节点的节点
QStandardItem *itemWithChildren = new QStandardItem("带有子节点的节点");
parentItem->appendRow(itemWithChildren);
QStandardItem *childItem = new QStandardItem("子节点1");
itemWithChildren->appendRow(childItem);
childItem = new QStandardItem("子节点2");
itemWithChildren->appendRow(childItem);
```
2. 删除节点
```cpp
// 删除第i个节点
model->removeRow(i);
```
3. 修改节点
```cpp
// 修改第i个节点的文本
QModelIndex index = model->index(i, 0); // 第一列的索引
model->setData(index, "新文本");
```
4. 查找节点
```cpp
// 查找文本为"子节点"的节点
QModelIndexList list = model->match(model->index(0, 0), Qt::DisplayRole, "子节点", -1, Qt::MatchRecursive);
if (!list.isEmpty()) {
QModelIndex index = list.first();
// 处理找到的节点
}
```
注意:以上代码仅为示例,实际使用中需要根据自己的需求进行修改。
阅读全文