gpt4 book ai didi

c++ - 从循环中的 QStandardItem 中删除项目

转载 作者:太空狗 更新时间:2023-10-29 21:17:48 26 4
gpt4 key购买 nike

我想从项目中删除特定的 child ,我的父项目是常量,即。我不能用不同的父项目替换它,我必须处理我拥有的那个。子项本身有多个级别的子项。我试过了,但没用。

QStringList list; // contains list of names that should be deleted
for(int row=0; row < parent->rowCount(); ++row)
{
QStandardItem* child = parent->child(row);
bool found = 0;
for(size_t i = 0; i<list.size(); ++i)
{
if(list[i] == child->text()) // check if child should be removed
{
found = 1;
break;
}
}
if(!found)
{
parent->removeRow(row); // this breaks child ordering for next iteration
}
}

如何正确操作?提前致谢。

最佳答案

删除行时不应增加行。或者,如果你继续增加它,你应该在 removeRow 之后修复(减少)行数:

parent->removeRow(row); // this breaks child ordering for next Iteration
--row;

关于c++ - 从循环中的 QStandardItem 中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31583333/

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