1.一定要将public QObject放在public QGraphicsItem的前面,并且在该类的定义中添加Q_OBJECT宏.

class XXGraphicsItem : public QObject, public QGraphicsItem

编译时出现警告 Warning: Class Node implements the interface QGraphicsItem but does not list it in Q_INTERFACES. qobject_cast to QGraphicsItem will not work!

在类的声明(Q_OBJECT下面)中添加:Q_INTERFACES(QGraphicsItem)可解决该问题.

class XXGraphicsItem : public QObject, public QGraphicsItem

{

Q_OBJECT

Q_INTERFACES(QGraphicsItem)

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。