先简单说一下QHash,QHash类是一个模板类, 它提供了一个hash-table-based字典,一般表述为<Key-Value>,也就是“键-值对”,通过Qt 的API 我们可以快速的学会并使用,示例:
void demoFunction()
{
QHash<QString, int> hash; // 定义一个hash,key:QString value:int
hash["one"] = 1; // 插入数据 方法1
hash["three"] = 3;
hash["seven"] = 7;
hash.insert("twelve", 12); // 插入数据 方法2
int num1 = hash["thirteen"]; // 获取数据 方法1
int num2 = hash.value("thirteen"); // 获取数据 方法2
// 使用迭代的方法获取数据
QHash<QString, int>::const_iterator i = hash.constBegin();
while (i != hash.constEnd())
{
cout << i.key() << ": " << i.value() << endl;
++i;
}
// 使用QList的方法获取数据
QList<int> list = hash.values("plenty");
for (int i = 0; i < values.size(); ++i)
{
cout << list.at(i) << endl;
}
}