在 C++ 中使用 QStringList 构建 QHash
Posted
技术标签:
【中文标题】在 C++ 中使用 QStringList 构建 QHash【英文标题】:Building a QHash with QStringList in C++ 【发布时间】:2015-05-27 21:26:07 【问题描述】:在 C++ 中,我正在尝试像这样构建一个专门的 QHash:
QHash<QString, QStringList> myhash;
这样我就可以存储这种类型的数据了:
QHash key QStringList values
---------- ------------------
A 1
2
3
B 5
6
我在使用 C++ 语法正确构建散列以及如何检索散列值时遇到问题。例如,如果给定 B,我希望循环并返回 5,6。
这是我在添加新键值对时附加到哈希的逻辑尝试:
QHash<QString, QStringList> myhash;
key = "A";
value = "2";
if (myhash.contains(key) )
QStringList mylist = myhash.value(key);
mylist.append(value);
else
QStringList mylist;
mylist.append(value);
myhash.insert( key, mylist);
我不确定这是否可行,因为我无法为 myhash 创建检索循环逻辑。
谁能帮我从这样的 QHash 构建和检索数据?
【问题讨论】:
panofish,对你的任务不是很清楚。请提供搜索返回的 A 并请添加 C 以及它会返回什么? 【参考方案1】:我认为在 QHash 中向 QStringList 添加值所需要做的就是:
QStringList & mylist = myhash[key]; // will create and insert an empty QStringList if necessary
mylist.append(value);
【讨论】:
以上是关于在 C++ 中使用 QStringList 构建 QHash的主要内容,如果未能解决你的问题,请参考以下文章