问题标签 [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.
c++ - QHash - 热获取随机键和值
我想n
从我的 QHash 中得到一个带有数字的随机对。
现在我这样做:
但这似乎很荒谬……必须有正常的方法。你能帮我吗?我已经阅读了 QHash 的整个手册页
qt - Qt4 QHash哈希冲突?
我正在使用 QT 4.8,我注意到它有一个QHash
可以按如下方式使用的类:
如果有哈希冲突,会被正确处理吗?
qt - 指向 QHash 的 QPointer
是否可以将 QPointer 与 QHash 一起使用?
qt - QHash 无法从 'class QHash 转换参数 1::const_iterator' 到 '::iterator'
我有一个用键值对定义为 QDomElement 的 qhash。如下所示。我正在尝试使用 const_iterator 更新哈希。但是这样做会引发以下错误,如何解决相同的问题:-
代码片段:-
谢谢,普里扬卡
c++ - 使用 QHash 和 QList 提高性能
我正在使用这些类:
QHash
: 表示场景的所有对象(不能修改这个类)
QList
: 表示所有选定的对象。它包含 ID(另存为int
)
因此,例如,如果我选择对象 #77,则其 ID 保存在Hitslist
( QList
) 中。
之后HitsList
被排序并被DrawSelectedObjects()
调用。
它必须迭代QHash
直到counter=77
和Draw_as_selected()
。之后,QList
删除第一个元素,将第二个元素拉到前面。
每次选择一个对象时都会调用此函数。导入的小场景一切正常,但是当我使用大于 10MB 的文件时,我可以看到一些输出滞后(很明显,因为我正在迭代一个巨大的QHash
)。
你能建议我一个更有效的方法吗?任何帮助,将不胜感激。
编辑:
感谢您的回复。问题是我无法摆脱它QList<int>
(我只能将整数推送到 OpenGL 选择堆栈的顶部)。
因此,上述解决方案的另一种方法是对QString.toInt()
的每个元素执行QHash
并将它们保存到QList<int>
.
事实是......如何使用(现在通过转换计算,不再从计数器计算)在QString
哈希上找出正确的?int
QString
QList
qt - qvariant 作为 qhash 中的键
我想创建一个带有 QVariants 键的数据结构。它看起来像这样:
不幸的是,“没有调用'qHash(const QVariant&)'的匹配函数”。
所以我为 QVariants 定义了我自己的 qHash 实现:
但是随后编译器说,该方法被定义了多次。
那么,如何使用 QVariant 作为 QHash 中的键呢?或者:我做错了什么?
c++ - 使用 foreach 循环遍历嵌套的 QHash
我有QHash<QString, QHash<quint64, QElapsedTimer*> myNestedQHash;
,当我尝试
我明白了
难道不能像我那样循环嵌套的 QHash 吗?
c++ - QHash 迭代器示例 - 运算符 < 不匹配
学习 QT,我正在尝试从http://qt-project.org/doc/qt-4.8/qhash-iterator.html编译第一个示例
我的代码
#include <QH
学习 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
有关详细信息,请参阅此问答。
学习 QT,我正在尝试从http://qt-project.org/doc/qt-4.8/qhash-iterator.html编译第一个示例
我的代码
#include <QH
学习 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
有关详细信息,请参阅此问答。
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]
谁能帮我解决这个问题?
c++ - 如何在 Qhash 中使用 Qmap?
我必须在其中创建一个带有地图 QMap 的 QHash,我尝试将其编写如下:
宣言:
定义:
所以我想知道:我会得到QMap
一个令牌编号,它将映射到以“价格”为键的各种值吗?