问题标签 [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?
我需要一个QHash
容器,它接受quint8
键但将异构类型作为值,所有这些都将是 Qt 容器或类。作为一个例子,我可能想插入一个QDate
或QTime
对象,甚至quint8
作为值。
如何定义这样的类型,以便可以在其他类中使用它并在运行时适当填充?我希望能够将其作为全局类型访问。是否可以?
NB 问题已被编辑以更好地反映 OP 的意图。编辑前写的答案适用于原始问题。
c++ - 从 QHash 中删除元素范围
我使用 QHash 作为容器,我的任务是删除所有满足谓词的项目。起初我想使用Erase-remove 习惯用法,结果发现 QHash 没有删除范围的选项,而只有一个通过迭代器删除单个元素的函数。
std::unordered_map(概念上接近Qt的QHash)具有去除范围的功能。
这意味着一个问题:为什么 QHash 没有类似的功能以及如何从满足谓词的 QHash 中删除项目的最佳方式?
c++ - 如何在 Qhash 中存储 Qfile
我想将数据随机写入许多不同的文件,所以我将 QFile * 存储到 Qhash,但它接缝不起作用。并且有报告
QObject::connect: 没有这样的信号 QObject::aboutToClose() in ....\include\QtCore\5.3.2\QtCore/private/../../../../../src/corelib /io/qtextstream_p.h:75
你能帮我解决这个问题吗?
这是实现我的想法的测试代码。
c++ - Qhash的Qhash报错
我用qhash的qhash写了一个函数,如下图:
但是,这一行有一个错误:
错误是:
错误:将 'const QHash' 作为 'QHash::iterator QHash::insert(const Key&, const T&) 的 'this' 参数传递 [with Key = int; T = int]' 丢弃限定符 [-fpermissive]motifByCell2seq->value(motif).value(cell).insert(si,1);
即使我将此行更改为以下内容,仍然存在错误
你能帮我找出问题吗?
c++ - 在 C++ 中使用 QStringList 构建 QHash
在 C++ 中,我正在尝试构建一个专门的 QHash,如下所示:
这样我就可以存储这种类型的数据:
我在使用 C++ 语法来正确构建散列以及如何检索散列值时遇到问题。例如,如果给定 B,我希望循环并返回 5,6。
这是我在添加新键值对时附加到哈希的逻辑的黑客尝试:
我不确定这是否有效,因为我无法为 myhash 创建检索循环逻辑。
谁能帮我从这样的 QHash 构建和检索数据?
c++ - 为什么 Qt 的 qHash() 没有 std::shared_ptr 的重载?
令我惊讶的是,我刚刚发现以下代码在使用 Qt 5.4 的 C++14 中无法立即编译:
问题是,就我所见,
没有qHash()
方法或任何其他智能指针的重载:http: //doc.qt.io/qt-5/qhash.html#related-non-membersstd::shared_ptr
对我来说,有以下重载(或类似的东西)似乎很自然:
但它不存在。这不能简单地是 Qt 开发人员忽略的事情。我需要包含一个特殊的标题吗?这不存在的原因是什么?
c++ - C++中的QHashIterator
我用 C++ 开发了一个游戏,并希望确保一切都正确完成。使用 QHashIterator 来检查列表中的哪个项目具有最低值(寻路的 F 成本)是否是一个好的解决方案。
我的代码片段:
如果不?有更好的改进吗?
我还发现了一些关于 std::priority_queue 的信息。它比 QHashIterator 更好吗?
对于那些不大的游戏世界来说,这可能不是问题。但是,当游戏世界很大时(例如 + 10000 次计算),我正在寻找合适的解决方案。任何标记?
qt - 多次迭代后不断生成 QPixmap* 失败
我正在使用以下代码来生成QPixmap*
指针,然后将它们插入QHash<QString, QPixmap*>
(我将只显示指针生成代码,因为这是失败的代码)。
我遇到的问题如下:对于前大约 200 次调用,该方法工作正常 - 它在循环访问目录的图像文件时被调用。然后突然QPixmap*
开始QPixmap(null)
无缘无故地返回。QImage
发生这种情况时也为空。我已检查并确保路径正常。此外,我尝试过使用各种图像集,但总是会发生同样的情况——它在 ~200 次调用中运行没有问题,然后开始生成空值。
任何帮助,将不胜感激。
谢谢你。
c++ - QSet:qHash 和自定义类出错
我想创建一个QSet<Tag>
我想在我的程序中使用的。Tag
是我的自定义课程。
当我构建代码时,我得到关于qHash
重载的 gcc 错误:
我已经为该类创建了类、theoperator==
和 the qHash
。然后我typedef
为班级创建了一个,但这不起作用。
我做错了什么?
标签.h
标签.cpp
练习.h
练习.cpp
c++ - 用自己的类序列化 QHash?
我有一个QHash<const QString id, MyClass>
, 而 MyClass 只是一些带有 getter 和 setter 的 QString quint8 值的集合。MyClass 也有一个QDataStream &operator<<(QDataStream &ds, const MyClass &obj)
被覆盖的,那里。
要序列化我使用:
现在,我对另一个感到困惑:
我会知道那个序列化 QHash 的长度吗?