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(treeView->model());

    if (model) {
        // 删除选定的行(节点)
        model->removeRow(selectedIndex.row(), selectedIndex.parent());
    }
}

你可能感兴趣的:(c++,qt,c++)