gpt4 book ai didi

javascript - Qt编程: How to use custom data type in QVariantMap?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:55 36 4
gpt4 key购买 nike

我正在编写一个 Qt 应用程序,将 C++ 类映射到 QtWebkit 中的 Javascript 对象。首先让我解释一下我想做什么:

我有一个继承自 QObject 的类:

class myobj : public QObject {
Q_OBJECT
public:
myobj();
~myobj();

pulbic slots:
void getData();
}

在另一个类中,我尝试将 myobj 实例添加到 QVariantMap:

QVariantMap anotherClass::getObj() {
myobj* obj1 = new myobj();
myobj* obj2 = new myobj();

QVariantMap items;

items.insert(QString("0"), QVariant(*obj1));
items.insert(QString("1"), QVariant(*obj2));

return items;
}

然后我得到以下错误:

error: no matching function for call to ‘QVariant::QVariant(myobj&)’

所以我尝试添加声明:

Q_DECLARE_METATYPE(myobj);

但是我得到了:

error: ‘QObject::QObject(const QObject&)’ is private

对此有什么想法吗?

最佳答案

正如编译器所说,不存在以 myobj 作为参数的 QVariant 构造函数。您是否尝试过使用 qVariantFromValue函数代替?

我认为这就是您要搜索的内容。

关于javascript - Qt编程: How to use custom data type in QVariantMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303818/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com