问题标签 [qhash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1143 浏览

c++ - QHash - 热获取随机键和值

我想n从我的 QHash 中得到一个带有数字的随机对。

现在我这样做:

但这似乎很荒谬……必须有正常的方法。你能帮我吗?我已经阅读了 QHash 的整个手册页

0 投票
1 回答
1775 浏览

qt - Qt4 QHash哈希冲突?

我正在使用 QT 4.8,我注意到它有一个QHash可以按如下方式使用的类:

如果有哈希冲突,会被正确处理吗?

0 投票
1 回答
806 浏览

qt - 指向 QHash 的 QPointer

是否可以将 QPointer 与 QHash 一起使用?

0 投票
1 回答
336 浏览

qt - QHash 无法从 'class QHash 转换参数 1::const_iterator' 到 '::iterator'

我有一个用键值对定义为 QDomElement 的 qhash。如下所示。我正在尝试使用 const_iterator 更新哈希。但是这样做会引发以下错误,如何解决相同的问题:-

代码片段:-

谢谢,普里扬卡

0 投票
1 回答
2054 浏览

c++ - 使用 QHash 和 QList 提高性能

我正在使用这些类:

QHash: 表示场景的所有对象(不能修改这个类)

QList: 表示所有选定的对象。它包含 ID(另存为int

因此,例如,如果我选择对象 #77,则其 ID 保存在Hitslist( QList) 中。

之后HitsList被排序并被DrawSelectedObjects()调用。

它必须迭代QHash直到counter=77Draw_as_selected()。之后,QList删除第一个元素,将第二个元素拉到前面。

每次选择一个对象时都会调用此函数。导入的小场景一切正常,但是当我使用大于 10MB 的文件时,我可以看到一些输出滞后(很明显,因为我正在迭代一个巨大的QHash)。

你能建议我一个更有效的方法吗?任何帮助,将不胜感激。

编辑:

感谢您的回复。问题是我无法摆脱它QList<int>(我只能将整数推送到 OpenGL 选择堆栈的顶部)。

因此,上述解决方案的另一种方法是对QString.toInt()的每个元素执行QHash并将它们保存到QList<int>.

事实是......如何使用(现在通过转换计算,不再从计数器计算)在QString哈希上找出正确的?intQStringQList

0 投票
1 回答
3388 浏览

qt - qvariant 作为 qhash 中的键

我想创建一个带有 QVariants 键的数据结构。它看起来像这样:

不幸的是,“没有调用'qHash(const QVariant&)'的匹配函数”。

所以我为 QVariants 定义了我自己的 qHash 实现:

但是随后编译器说,该方法被定义了多次。

那么,如何使用 QVariant 作为 QHash 中的键呢?或者:我做错了什么?

0 投票
3 回答
4428 浏览

c++ - 使用 foreach 循环遍历嵌套的 QHash

我有QHash<QString, QHash<quint64, QElapsedTimer*> myNestedQHash;,当我尝试

我明白了

难道不能像我那样循环嵌套的 QHash 吗?

0 投票
1 回答
5863 浏览

c++ - QHash 迭代器示例 - 运算符 < 不匹配

学习 QT,我正在尝试从http://qt-project.org/doc/qt-4.8/qhash-iterator.html编译第一个示例

我的代码

没有编译。我收到此错误:

main.cpp:14:错误:'std::cout << i.QHash::iterator::key with Key = QString, T = int' 中的 'operator<<' 不匹配

我不知道出了什么问题。代码几乎是从文档中复制粘贴的。我在这里错过了什么吗?


那是因为std::cout不适用于QString. 尝试使用QString::toStdString(),或者您也可以使用qDebug()代替cout

有关详细信息,请参阅此问答

0 投票
1 回答
1365 浏览

qt - QVectors 的 QHash

我有一个QHash<QString, QVector<float> > qhash,并试图覆盖以下值QVector

i.value().replace(j, new_value);我在中风时遇到错误,说明如下:

C:\Qt\latest test\Prototype\Coordinate.cpp:266: 错误:将 'const QVector' 作为 'void QVector::replace(int, const T&) [with T = float]' 的 'this' 参数传递会丢弃限定符[-fpermissive]

谁能帮我解决这个问题?

0 投票
1 回答
528 浏览

c++ - 如何在 Qhash 中使用 Qmap?

我必须在其中创建一个带有地图 QMap 的 QHash,我尝试将其编写如下:

宣言:

定义:

所以我想知道:我会得到QMap一个令牌编号,它将映射到以“价格”为键的各种值吗?