C++ 如何将多个QStringLists中的项目添加到一个?

C++ 如何将多个QStringLists中的项目添加到一个?,c++,qt,data-structures,qvector,qstringlist,C++,Qt,Data Structures,Qvector,Qstringlist,如果我有几个QStringLists,例如: QStringList str1 = {"name1", "name2", "name3"}; QStringList str2 = {"value1", "value2", "value3"}; QStringList str3 = {"add1", "add2", "add3"}; 是否有任何方法可以获取列表列表(嵌套列表),如qstringlistlistall将如下所示: (("name1","value1","add1"),("name2

如果我有几个QStringLists,例如:

QStringList str1 = {"name1", "name2", "name3"};
QStringList str2 = {"value1", "value2", "value3"};
QStringList str3 = {"add1", "add2", "add3"};
是否有任何方法可以获取列表列表(嵌套列表),如
qstringlistlistall将如下所示:

(("name1","value1","add1"),("name2","value2","add2"),("name3","value3","add3"))

从注释中可以看出,您正在尝试将字符串列表打包为
QVector
,而不是
QList
。在这种情况下,只需迭代
QStringList
s,并将从相等索引创建的字符串列表附加到向量

#include <QVector>

QVector<QStringList> allList;
allList.reserve(str1.size()); // reserve the memory

for(int idx{0}; idx < str1.size(); ++idx)
{
    allList.append({str1[idx], str2[idx], str3[idx]});
}
#包括
QVector-allList;
allList.reserve(str1.size());//保留记忆
for(int idx{0};idx
如果不需要向量,请继续使用StringList

QStringList str1={“name1”、“name2”、“name3”};
QStringList str2={“value1”、“value2”、“value3”};
QStringList str3={“add1”、“add2”、“add3”};
QStringList r{};

//优雅地使用@eyllanesc I get QVector((“名称1”、“名称2”、“名称3”)、(“值1”、“值2”、“值3”)、(“添加1”、“添加2”、“添加3”)@ImNew您的主要需求是什么?你有很多选择来实现同样的目标
QVector
是另一个选项。但是您在问题中提到了
QList
!同样,我得到了QVector((“name1”,“name2”,“name3”),(“value1”,“value2”,“value3”),(“add1”,“add2”,“add3”)。。。我需要从每个QStringList中提取第一项,并将其放在嵌套列表的第一个位置(第一个列表),然后从每个QStringList中提取第二项,依此类推,以获得我在第一篇文章中所写的内容。@ImNew在这种情况下,您需要迭代
QStringList
,并填充向量。我会更新答案。