我试图附加的指针是一个QObject *后代,所以我的代码是这样的:
Image * im = new Image(); // here I add data to my Image object// Now I create my itemQListWidgetItem * lst1 = new QListWidgetItem(*icon,serIE->getSerIEsInstanceUID(),m_iconVIEw);// then I set my instance to a QVariantQVariant v(QMetaType::QObjectStar,&im)// Now I "attach" the variant to the item.lst1->setData(Qt::UserRole,v);//After this,I connect the SIGNAL and SLOT...
现在我的问题,itemActivated插槽.在这里,我需要从变体中提取我的图像*,我不知道如何.
我试过这个,但我收到错误:
‘qt_Metatype_ID’ is not a member of ‘QMetaTypeID’
voID MainWindow::itemActivated( QListWidgetItem * item ){ Image * im = item->data(Qt::UserRole).value<Image *>(); qDeBUG( im->getimage().toAscii() );}
任何提示?
Image * im = item->data(Qt::UserRole).value<Image *>();解决方法 答案是这样的
// From QVariant to QObject *QObject * obj = qvariant_cast<QObject *>(item->data(Qt::UserRole));// from QObject* to myClass*myClass * lmyClass = qobject_cast<myClass *>(obj);总结
以上是内存溢出为你收集整理的c – QVariant to QObject *全部内容,希望文章能够帮你解决c – QVariant to QObject *所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)