标签:c-2 javascript webkit qt qvariant
我正在编写一个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
对此有何想法?
解决方法:
就像编译器所说的那样,没有QVariant的构造函数可以将myobj作为参数.您是否尝试过使用qVariantFromValue
功能?
我想这就是你要找的东西.
标签:c-2,javascript,webkit,qt,qvariant 来源: https://codeday.me/bug/20190621/1256755.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。