- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我关注 QObject
:
#ifndef UETYPES
#define UETYPES
#include <QHash>
#include <QByteArray>
#include <QMultiMap>
#include <QString>
#include <QObject>
#include "../database/ueuserrecord.h"
#include "../database/ueorderrecord.h"
class UeTypes : public QObject
{
Q_OBJECT
public:
typedef QHash<int, QByteArray> UeTypeRoles;
/*
* QString first parameter userId
* QString second parameter placeId
*/
typedef QMultiMap<QString, QString> UeTypeLoggedUsers;
};
#endif // UETYPES
我正在尝试公开/导出 typedef QMultiMap<QString, QString> UeTypeLoggedUsers
通过 qmlRegisterType
到 QML在 main.cpp 中:
#include <QtQml>
#include <QApplication>
#include <QQmlApplicationEngine>
#include "core/uetypes.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
qmlRegisterType<UeTypes::UeTypeLoggedUsers>("si.test",
1,
0,
"UeTypeLoggedUsers");
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
但是,当我尝试编译这段代码时,出现以下错误:
error: 'staticMetaObject' is not a member of 'QMultiMap'
为什么会出现此错误以及如何消除它?
最佳答案
你可以使用 QVariantMap直接在QML
通过Qt property system .它被声明为 typedef QMap<QString, QVariant>
.
class UeTypes : public QObject
{
Q_OBJECT
Q_PROPERTY(QVariantMap map READ map WRITE setMap NOTIFY mapChanged)
public:
QVariantMap map() const { return mMap; }
void setMap(QVariantMap map) {
if(mMap != map) {
mMap = map;
emit mapChanged();
}
}
signals:
void mapChanged();
private:
QVariantMap mMap;
};
您可以使用QMap::insertMulti 向QMap 插入多个相同的键 .相当于QMultiMap::insert .
关于c++ - 将 QMultiMap<QString, QString> 导出到 QML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432816/
我想使用 遍历 QMultiMap QMultiMap::const_iterator it;` 但是编译器报错 error: expected ‘;’ before ‘it’ 导致 error: ‘
我有一个 QMultiMap我想从中检索具有特定时间戳的所有值。这就是我所做的: QMap::iterator it = _reminders.find(now); 哪里now值为 di 6.mrt
我想使用QMultiMap(派生自QMap)来存储键/值对。由于我可以多次拥有 key ,因此我更喜欢使用 QMultiMap。 假设我会按给定顺序插入以下对: "C" -> 5 "A" -> 10
我应该在 QMap::insertMulti 和 QMultiMap 之间使用什么来处理: 2 -> abc 2 -> 定义 3 -> ghi 3 -> jkl 输入 2 个解决方案有什么区别? 最佳
我关注 QObject : #ifndef UETYPES #define UETYPES #include #include #include #include #include #inc
我是一名优秀的程序员,十分优秀!