Qt“Simple Dom Model” - >插入行

时间:2014-03-30 18:15:51

标签: c++ qt dom model

我正在使用Qt的示例代码“Simple Dom Model”(http://qt-project.org/doc/qt-4.8/itemviews-simpledommodel.html)。 在QTreeView中读取和显示dom文档正在运行。删除模型中的行也没问题。但我无法弄清楚如何插入行。

我已经搜索了这个问题,但只发现了未回答的问题(例如Qt4: Making "Simple Dom Model" editable; inserting rows)。

也许有人想出来并可以帮助我!?


我的代码:

// DomModel.cpp

bool DomModel::insertRow(int row, const QModelIndex &parent)
{
    bool success;

    DomItem *parentItem = static_cast<DomItem*>(parent.internalPointer());

    beginInsertRows(parent, row, row);
    success = parentItem->insertChild(row);
    endInsertRows();

    return success;
}


// DomItem.cpp

bool DomItem::insertChild(int row)
{
    if(row < 0 || row > childItems.size())
    {
        return false;
    }

    QDomNode node;
    DomItem *item = new DomItem(node, row, this);
    childItems.insert(row, item);

    return true;
}

0 个答案:

没有答案