添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 创建一个新的 QStandardItem 对象,用于表示要添加的节点。
  • 设置该节点的数据和属性,例如文本、图标等。
  • 获取目标层级的父节点(如果是根节点,则获取模型的 invisibleRootItem)。
  • 使用父节点的 insertRow() 方法,在指定位置插入新节点。可以使用行索引来确定插入位置,或者使用 appendRow() 在末尾添加子项。
  • 将新节点设置为父节点的子项。
  • 下面是一个简单示例代码:

    QStandardItemModel* model = new QStandardItemModel();
    QTreeView* treeView = new QTreeView();
    treeView->setModel(model);
    // 添加根节点
    QStandardItem* rootNode = model->invisibleRootItem();
    QStandardItem* item1 = new QStandardItem("Item 1");
    rootNode->appendRow(item1);
    // 添加子项到指定层级
    QModelIndex parentIndex = model->indexFromItem(item1); // 获取父节点索引
    int targetLevel = 2; // 指定目标层级
    for (int i = 0; i < targetLevel; ++i) {
        if (parentIndex.isValid()) {
            item1 = model->itemFromIndex(parentIndex); // 获取当前父节点
            parentIndex = model->indexFromItem(item1); // 更新父节点索引
    // 创建并设置要添加的新节点
    QStandardItem* newItem = new QStandardItem("New Item");
    item1->appendRow(newItem); // 将新节点添加到指定层级的父节点下
    treeView->expandAll(); // 展开所有节点
    

    通过以上代码,你可以在 QStandardItemModel 和 QTreeView 中实现在指定层级添加节点。记得根据自己的实际需求进行相应调整。


    内容由零声教学AI助手提供,问题来源于学员提问

    本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=5481