C++ QTreeWdiget在特定位置添加子元素
我正在尝试以一种可以将元素插入到所需位置的方式构建一棵树。这是我的树的初始阶段:C++ QTreeWdiget在特定位置添加子元素,c++,qt,qtreewidget,qtreewidgetitem,C++,Qt,Qtreewidget,Qtreewidgetitem,我正在尝试以一种可以将元素插入到所需位置的方式构建一棵树。这是我的树的初始阶段: +Project +--Version 1.0 +--Version 2.0 现在,假设我制作了一个版本1.1,我想在version1.0和version2.0之间的位置添加它。比如: +Project +--Version 1.0 +--Version 1.1 +--Version 2.0 我尝试使用insertChild()添加它,但该项没有在树中创建。代码如下: void VersionGuiElemen
+Project
+--Version 1.0
+--Version 2.0
现在,假设我制作了一个版本1.1,我想在version1.0
和version2.0
之间的位置添加它。比如:
+Project
+--Version 1.0
+--Version 1.1
+--Version 2.0
我尝试使用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);
}
}
但树上什么也插不进去。。。知道我做错了什么吗?创建树节点时,您应该指出树节点的父节点:
QTreeWidgetItem* versionItem = new QTreeWidgetItem(projectItem, QStringList(QString("Version ") + m_version->getVersionText())) ;
然后:
我试过了,结果还是一样。该项没有被添加到树中:(奇怪的是没有,尽管它应该被添加到树中。有人对此有解决方案吗?)??
if(idxAfter == -1)
{
projectItem->addChild(versionItem);
}
else
{
projectItem->insertChild(idxAfter, versionItem);
}