更改 QStringList 的第 i 个元素

Change the ith element of a QStringList

我搜索了半个小时的解决方案,但没有任何进展。

考虑列表

QStringList foo = {};
for (int i=1; i<8; i++){
    foo << "0";
}

如果单击了某个复选框,我想将列表的值更改为 "1"

因此,例如,如何将第 3 个 0 更改为 1?像(伪代码)foo.replace(3,"0","1").

只需应用 KISS principle ;)

foo[3] = "1";

我在这个线程中遇到了类似的问题,只是列表是通过引用传递的,所以这个选项不起作用。

此行有效:

list->operator [](idx) = "val";

operator 函数 returns 在 idx 处的可修改实例,因此您也可以调用返回类型的其他函数:

list->operator [](idx).prepend("val");

归功于:https://blog.fearcat.in/a?ID=01500-adf1c894-647c-4d9c-9355-338be961e5df