3

必要な場所に要素を挿入できる方法でツリーを構築しようとしています。これは初期段階の私のツリーです:

+Project
+--Version 1.0
+--Version 2.0

ここで、バージョン1.1を作成し、との間の場所に追加したいVersion 1.0としVersion 2.0ます。好き:

+Project
+--Version 1.0
+--Version 1.1
+--Version 2.0

insertChild( http://doc.qt.digia.com/4.7-snapshot/qtreewidgetitem.html#insertChild )を使用して追加しようとしましたが、アイテムがツリーに作成されません。これはコードです:

void VersionGuiElements::createGuiElements(QTreeWidgetItem* projectItem, int idxAfter)
{
    QTreeWidgetItem* versionItem = new QTreeWidgetItem(0, QStringList(QString("Version ") + m_version->getVersionText())) ;

    if(idxAfter == -1)
    {
        projectItem->addChild(versionItem);
    }
    else
    {
        projectItem->insertChild(idxAfter, versionItem);
    }
}

しかし、ツリーには何も挿入されません...私が間違って何をしているのか分かりますか?

4

1 に答える 1

0

ツリー ノードを作成するときは、ツリー ノードの親を指定する必要があります。

QTreeWidgetItem* versionItem = new QTreeWidgetItem(projectItem, QStringList(QString("Version ") + m_version->getVersionText())) ;

それで:

if(idxAfter == -1)
{
    projectItem->addChild(versionItem);
}
else
{
    projectItem->insertChild(idxAfter, versionItem);
}
于 2012-10-18T08:22:32.587 に答える