如何在QGraphicsitem派生类上使用Q_DECLARE_METATYPE?

时间:2016-11-13 22:38:47

标签: qt copy-constructor qgraphicsitem

我想将我的对象用作QVariants和排队连接。因此,我想使用Q_DECLARE_METATYPE(My_Item),从我学到的文档中我需要一个公共拷贝构造函数。我试着写一个,但我失败了。比起我读过copy constructor of derived QT class以及BЈовић的回答。从那里我明白我打算做的事情不会起作用。我该怎么办才能使我的对象可用于元类型系统?

My_Item基于My_Super_Item,如下所示:

class My_Item: public My_Super_Item {
  Q_OBJECT
  Q_INTERFACES(QGraphicsItem)
public:
   explicit My_Item(Application *a, QString astring);
...
}

class My_Super_Item : public QObject, public virtual QGraphicsItem {
 Q_OBJECT 
 Q_INTERFACES(QGraphicsItem)
public:
 My_Super_Item(My_Application *a, QString astring);
 ...
}

0 个答案:

没有答案