问题标签 [qset]

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 投票
0 回答
352 浏览

c++ - QMap insertMulti 与 QMap>

我正在考虑将一组值存储在地图中,以 int 为键:-

在阅读文档时,我注意到 QMap 提供了insertMulti函数,允许为同一个键插入多个值。

忽略 QMultimap,因为这只是 QMap::insertMulti 的便捷包装,使用 QMap 的 insertMulti 函数而不是上面的集合的映射有什么好处吗?

0 投票
2 回答
855 浏览

c++ - 如何修改 QSet 的元素?

我有QSet<QuadPattern> texture;并且我想在一个循环中修改所有 QuadPattern。

foreach不是好的解决方案,因为它会复制。

使用此代码:

我得到一个编译错误:

功能setCoordinate是这样的:

内联 void setCoordinate(const std::pair &value) { _coordinate = value; }

为什么会出现这个错误?

0 投票
2 回答
6034 浏览

c++ - QSet:qHash 和自定义类出错

我想创建一个QSet<Tag>我想在我的程序中使用的。Tag是我的自定义课程。

当我构建代码时,我得到关于qHash重载的 gcc 错误:

我已经为该类创建了类、theoperator==和 the qHash。然后我typedef为班级创建了一个,但这不起作用。

我做错了什么?

标签.h

标签.cpp

练习.h

练习.cpp

0 投票
1 回答
402 浏览

qt - 如何在 QMap 中使用 QSet 作为值?

我正在使用 Qt,我想声明以下容器:

这里的 ClassSharedPtr 是类“Class”的 boost 共享 ptr。

添加头文件 #include 后出现以下错误:

0 投票
2 回答
1026 浏览

qt - QT 容器,指定顺序且无重复

我需要类似于 QSet 的东西,但我需要按照插入的顺序保存项目

有这样的事吗?

0 投票
1 回答
282 浏览

qt - 使用 QDataStream 使用枚举(反)序列化 QSet

我使用 Qt 4.8.7。我有enum Color {red, green, blue}QSet<Color>。我应该如何(反)序列化QSet<Color>使用QDataStream?自定义类型反序列化失败。除了反序列化之外,我还应该手动创建序列化(循环 QSet 元素)吗?我的意思是QSet的内部序列化实现理论上可以由Qt开发者改变,所以我必须自己写两个循环进行序列化/反序列化。

0 投票
1 回答
181 浏览

c++ - QSet 附加自定义对象

我有以下课程

我想要的只是有一个QSet<Test>我将插入一些 Test 对象的地方。

问题是由于某种原因我收到以下错误,我不知道为什么或如何解决它。

C:\Qt\5.14.2\msvc2017_64\include\QtCore/qhashfunctions.h(118): 错误 C2665: 'qHash': 24 个重载都不能转换所有参数类型 C:\Qt\5.14.2\msvc2017_64 \include\QtCore/qlocale.h(62): 注意: 可能是 'uint qHash(const QLocale &,uint) noexcept' C:\Qt\5.14.2\msvc2017_64\include\QtCore/qregexp.h(56):注意:或
正在使用 [ T=Test ] C:\Users\vlad.dumitru\CLionProjects\Test\main.cpp(11) 编译:注意:请参阅对正在编译的类模板实例化 'QSet' 的引用 C:\Qt\5.14.2\ msvc2017_64\include\QtCore/qhashfunctions.h(118):错误 C2056:非法表达式 NMAKE:致命错误 U1077:'C:\PROGRA~2\MICROS~2\2017\BUILDT~1\VC\Tools\MSVC\1416~ 1.270\bin\Hostx64\x64\cl.exe' : 返回码 '0x2' 停止。NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"':返回代码' 0x2' 停止。NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"':返回代码' 0x2' 停止。NMAKE : 致命错误 U1077: '"C:

你们有谁知道我该如何解决这个问题?

更新:

我确实编写了我需要的这两个函数,但现在我遇到了一个新错误:

错误 C2664:“uint Test::qHash(const Test &,uint)”:无法将参数 1 从“const int”转换为“const Test &”

我不能调用,qHash(key.a, seed)因为“对'const Test'类型的引用无法绑定到'const int'类型的左值

0 投票
3 回答
63 浏览

c++ - C++ 和 Qt 6.2 中的 For 循环不当行为

首先,我是 C++ 和 Qt 的完整初学者,我正在使用 Qt 6.2 和 C++11。这是我有问题的代码:

我原以为我会得到“10”的输出,但我得到了“1”。我将代码更改为此并解决了问题,但我无法理解它:

我想知道为什么 C++ 会这样。