问题标签 [qmap]

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 回答
3481 浏览

qt - 嵌套的 QMap 和 QList 不会让我追加/push_back

我正在尝试使用嵌套的 QList:

当我编译时,我得到: 1>.\main.cpp(154) : error C2662: 'QList::push_back' : cannot convert 'this' pointer from 'const QList' to 'QList &'

我敢肯定,我忽略了一些简单的事情,或者也许有一个更简单的解决方案让我望而却步。非常感谢任何帮助。

0 投票
2 回答
2228 浏览

c++ - 为什么我不能像这样在 QMap 上调用 insert?

尝试在 Qt SDK 4.7.4 for Desktop - MinGW 4.4 下编译以下代码会导致以下编译器错误:

我尝试将其转换为使用std::stringstd::map相同效果的等效示例。我展示了 Qt 版本,因为它更紧凑,并且最终符合我的项目所需的形式。
我猜我只是遗漏了一些关于typedef最终如何解释的东西。为什么第二个参数insert显然是Buffer *(not Buffer(*)[4]),我该如何解决?

0 投票
1 回答
6358 浏览

c++ - 如何使用 QDeclarative 将 QMap 暴露给 QML

如何将 QMap 从 C++ 公开到 QML?使用 QList 我可以使用 QDeclarativeListProperty。

0 投票
2 回答
888 浏览

qt - 在 QMap 中查找丢失的键

我有qmap一个<int , Myclass*>

键的范围为1to n_max

当我插入地图时,我需要知道可用的最低未使用密钥。

例如,如果地图包含

<1,对象1>

<3、obj3>

当我在地图中插入下一个项目时,我希望将键分配为 2

这样做最有效的方法是什么

问候

0 投票
4 回答
5225 浏览

c++ - QMap 或 QHash 中的 QSet

我有QMap 并且我想制作QSet它的关键,我不能这样做,因为QSet没有可比性。例如:

有什么办法让它工作吗?如果我继承QSet并定义operator <我应该如何实现它?即:比较的逻辑应该是什么?

注意:我太在乎性能了

0 投票
5 回答
10235 浏览

c++ - 分配给嵌套的 QVariantMap

我正在尝试分配给嵌套 QVariantMap 中的 QVariant。第一个 qDebug() 不输出任何内容,但第二个按预期输出“asdf”。如何将嵌套变量映射中的“bar”键分配给一个值?

0 投票
1 回答
1794 浏览

c++ - 在 QMap::remove 之后使用 QString 会导致崩溃

我有以下代码:

在这里,我试图通过键(userId)从 QMap 中删除元素。元素已正确删除。但令人惊讶的是,它在 QMap::remove 之后打印 userId 会崩溃。

什么会导致问题?我正在使用 Qt 4.4.3

0 投票
1 回答
389 浏览

c++ - c++ Qt常量违规?

我有一个类 orders,它的实例存储在 QMap/Map 中,并且有一个 Key:int, value:order 模式。一切都很顺利,直到我开始遍历地图并访问类的函数。首先,我尝试使用它的 getter 方法打印出订单对象的值,例如:

然而,这产生了一个错误

然后我通过在 getter 方法中添加“const”来解决这个问题,前一行代码将成功运行并将对象日期打印为字符串。

但是现在的问题是我无法实现我的 setter 方法,因为我会得到同样的错误,而且显然 setter 方法有一行改变了原始成员变量,所以这本身就会违反常量规则,所以我怎样才能改变对象地图中的变量??

如果有帮助,这是我的代码:

0 投票
1 回答
798 浏览

c++ - 为什么qmap使用skiplist而不是ob rb-tree?

我很清楚为什么 QMap 是通过 skiplist 数据结构而不是 rb-tree 实现的?有一个非常有趣的SO 线程,关于并发数据结构和跳过列表对 rb-tree 的好处,优点和缺点。它确实是非常有趣的对话,带有有用的链接,但 QMap 不是线程安全的,它不做任何互斥锁来同步访问开箱即用。它需要包装器或子类化。

对我来说,编写“手工制作的”跳过列表而不是 rb-tree 并不简单,所以这也不明显。

在非线程安全的 Qt 容器的上下文中是否有任何终止功能?

提前Tnx。

0 投票
2 回答
3550 浏览

c++ - 将函数指针插入 QMap (Qt)

我正在为 Qt 中的 REST API 创建某种路由器,并且在将函数指针插入 QMap 时遇到问题。

我有IModule派生其他模块的类。重要的行IModule.h

然后我有UserModule它来自IModule并在.cpp文件中我有这些行:

所以我尝试了两个选项,如何在没有它的情况下将函数放入带有引用符号的 QMap 中,但两者都不起作用。我收到错误:no matching function for call to 'QMap<QString, QByteArray* (*)(IBus*, ProxyRequest*)>::insert(const char [5], QByteArray* (UserModule::*)(IBus*, ProxyRequest*))'

我花了几个小时来解决这个问题,尝试了许多不同的方法来解决它,但没有成功。

所以我会很高兴收到任何建议。