gpt4 book ai didi

c++ - QTreeWidget 在特定位置添加子元素

转载 作者:太空狗 更新时间:2023-10-29 23:07:25 24 4
gpt4 key购买 nike

我正在尝试以一种可以将元素插入到所需位置的方式构建树。这是我的初始阶段的树:

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

现在,假设我制作了一个版本 1.1,我想将它添加到 Version 1.0Version 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);
}
}

但是树中没有插入任何东西......知道我做错了什么吗?

最佳答案

创建树节点时要指出树节点的父节点:

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

然后:

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

关于c++ - QTreeWidget 在特定位置添加子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12949965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com