问题标签 [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.
c++ - 如何在 Qt 中使用 java 风格的迭代器而不是 stl 风格?
例如 :
所以这种 stl 风格是有效的。但我无法重写为 java-style :
在这里我得到错误 -cannot convert parameter 1 from QListIterator<T>' to 'const QMap<Key,T>
c++ - QMap::contains() 和 QMap::value() 找不到现有的键值对
我正在使用带有 MS Visual C++ 2010 的 Qt 4.7.4。
我正在使用以下 QMap:
其中 T_FileMapKey 定义为:
为了让整个事情顺利进行,我重载了 < 运算符:
正如您可能预测的那样,整个操作是以 3 维数组的顺序存储文件句柄。我正在使用 QMap,因为只使用了少数索引组合,而且它们可能是大数字。
我的问题是:
和
(其中 tFileKey 是 T_FileMapKey 变量)并不总是返回正确的值。
在正常情况下,QMap 会随着时间的推移而增长,这意味着如果遇到新的索引组合,则会打开文件并将条目添加到 QMap。如果我在调试模式下启动应用程序,Qt Visual Studio 插件允许我查看存储的键值对。我可以看到调试监视中的条目存在(例如 {0, 32767, 0}),但是两个函数调用(包含和值)告诉我 QMap 没有存储这样的键。通常在 QMap 具有至少 15 个键值对之后会遇到此行为。
这可能是 Qt 4.7.4 中的错误吗?做错了什么?
r - 让边界通过州
编辑 7:
经过相当多的帮助,我已经能够得到一张接近我需要的结果的地图。但是我仍然需要在地图上显示州界,但我无法弄清楚。为了制作一个合适的可重现示例,我需要链接到数据集,因为 dput 太大了。
为了简单起见,我只对三个状态进行了子集化,但边界线没有出现。我希望能够让边界线像白线一样穿过情节,就像它们在地图的其余部分一样。谢谢你的帮助。
数据集:
https://www.dropbox.com/s/0evuvrlm49ab9up/PRISM_1895_db.csv?dl=0
代表代码:
图:
c++ - qmap 可选参数的默认值
我正在使用 C++ 并希望创建一个带有可选参数的函数,即 QMap。问题是我将默认值设置为什么。我希望它是一张空地图。
你放什么???
qt - 创建一个知道它属于哪个选项卡的 QLineEdit 小部件
问题
如何使小部件知道它属于哪个选项卡“地址”,最终目的是将此信息传播到信号?
背景
下面的所有代码都是在同一个对象中完成的,因此我可以将this
其用作环回信号。
有一个设置文件将创建一个选项卡的“树”,例如
这将创建一个Sh 0
选项卡,其中包含一个选项卡显示Be 0
和一个选项卡显示Be 1
。Be 0
在此分支中将包含Fe 0
. 等等。
我在这里对其进行了简化,但最终版本将包含更多分支。为了简单起见,我不会为这个示例的访问者类方法而烦恼,而是我将所有选项卡映射到一个QMap
,例如,如果您想feTab
从上面的第一个示例访问该选项卡,则创建该选项卡,然后像这样访问:
问题
太好了,所以我将所有选项卡分配给地图并Fe
使用QGridLayout
. QLineEdit
然后,我通过在布局中添加 a 来遍历我想要添加的寄存器 。
设置文件中的内容与问题无关。这只是针对树的每个分支完成的,设置文件会创建许多具有预定义值的预定义寄存器。我想QLineEdit
知道它在编辑时来自哪个分支。
我的尝试
因此,我一直在尝试将信号分配给QLineEdit
我创建它的时候,如下所示:
我已经连接了一种方法,该方法输出qDebug()
. 问题是我不确定如何告诉系统它所属的树地址。我可以使用这些信息来创建一个带有用户更改值的新设置文件。有任何想法吗?
我的第一个想法是查看QLineEdit
已选择的选项卡并尝试阅读当前关注的选项卡以计算出地址,尽管我不确定如何执行此操作以及是否有更简单的方法。
qt - 具有多字段的 QMap
我需要存储一些表类型的数据,例如 aQTableWidget
但没有 GUI。类似于以下代码的内容:
QMap<QString, QString, int, QString, int>
有没有办法在 Qt 中实现这一点?我的 Qt 版本是 5.3。
c++ - 具有自定义类的 QMap 无法复制
当我调用下面的函数时,我得到了 qmap 为空。我读到如果我的自定义类不是从 QObject 派生并且具有复制构造函数和赋值运算符,它应该可以工作。
我有一个自定义类,它有复制构造函数和赋值运算符。
macos - 在 OSX 下编译 QMap Iterator (Clang++)
我有一个CustomMap
像这样实现 QMap 的 C++ 类。
现在,在一个函数中:
然而,仅仅这几行代码就会产生多个错误......
我已经#include <QMap>
在标题中定义了迭代器,并且typedef iterator Iterator
也发生在 Qt QMap 对象中。
我使用 msvc 编译器在 Visual Studio 下编译和运行完全相同的代码。在 OSX 上使用 Clang 出现错误。
我的设置包括:
- 操作系统
- 铛
- Qt 5.4
- 所有包含文件夹都已设置,其他一切都很好。
编辑:如果我将 Iterator 定义为QMap<int, QString>::Iterator a
而不是QMap<int,Key>::Iterator a
,它将删除错误。这种行为可以解释吗?据我所知,它与原始实现几乎相同QMap
r - 在 R 的“qmap”包中使用“fitQmap”函数时出错
使用fitQmap
R 包中的函数时,qmap
出现以下错误:
为什么会发生这种情况,解决方案是什么?
qt - 在 Qt 中使用值时收到的地图地图的默认值是什么
我有一个QMap<QString, QMultiMap<int, QString> > data;
如果我说data.value(key);
-> 如果不存在该键的值,返回值是什么?
提前致谢。