C++クラスをQtWebkitのJavascriptオブジェクトにマップするQtアプリを書いています。まず、私がやろうとしていることを説明しましょう。
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
これについて何か考えはありますか?