我正在编写一个Qt应用程序,将一个C++类映射到QtWebkit中的Javascript对象。首先让我解释一下我要做什么:
我有一个继承自QObject的类:
在另一个类中,我试图向 QVariantMap 添加 myobj 实例:
所以我尝试添加声明:
但是我得到了:
这个有什么想法吗?
我有一个继承自QObject的类:
class myobj : public QObject {
Q_OBJECT
public:
myobj();
~myobj();
pulbic slots:
void getData();
}
在另一个类中,我试图向 QVariantMap 添加 myobj 实例:
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
这个有什么想法吗?