我希望从我的QHash中获得一个数字n
的随机对。
现在我这样做:
QHash<QString,QString>::iterator iterator = dictionary.begin();
iterator+= n;
question->setText(iterator.key());
但这看起来很荒谬......必须有一种正常的方式。你能帮我吗?我已经阅读了QHash的整个人工页面
答案 0 :(得分:1)
QHash
不提供随机选择。如果必须经常执行此操作,则将哈希表的keys()
复制(指向)到vector
或QVector
,获取随机索引并使用密钥在QHash
中查找值。
根据您使用QHash
的其他内容,您可能希望在某些时候将其转换为对的向量,并将其用于随机选择。