qt treeview 删除节点
Qt 中,要删除 QTreeView 中的节点,可以通过操作其模型(QAbstractItemModel)来实现。以下是一个简单的示例,展示如何从 QTreeView 中删除节点。
假设你有一个 QTreeView,它使用了 QStandardItemModel 作为模型。你可以使用 removeRow()
方法来删除行(节点)。
// 获取当前选择的模型索引
QModelIndexList selectedIndexes = treeView->selectionModel()->selectedIndexes();
// 如果有选择的索引
if (!selectedIndexes.isEmpty()) {
QModelIndex selectedIndex = selectedIndexes.first();
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(treeView->model());
if (model) {
// 删除选定的行(节点)
model->removeRow(selectedIndex.row(), selectedIndex.parent());
}
}