QVariant conversion to QPainterPath



我现在制作的迷你游戏有问题。问题如下:我为我的游戏创建了一个关卡编辑器,因此我必须创建自己的代理和模型,当我试图通过形状编辑器进行编辑时,问题就会出现(这更有可能创建一个绘画路径)。然后,我通过数据返回painterpath,但当我尝试使用代理绘制它时,qt告诉我以下错误:

/usr/include/qt4/QtCore/qmetatype.h:169: error: 'qt_metatype_id' is not a member of 'QMetaTypeId<QPainterPath>'

我不太清楚我为什么会犯这个错误。有关该项目的源代码的信息,如果需要,我可以提供。但我只是认为从qvariant到qpainterpath的转换是不可能的。他们一定有办法做到这一点。

注意:我试着做了以下

QVariant var = index.model()->data(index, Qt::DecorationRole);
QPainterPath path = var.value<QPainterPath>(); // The error occurs here, this is line 169

但这并没有奏效<谢谢你能帮我可能的解决方案,有没有从painterpath创建像素图?我可以简单地返回像素图而不是painterpath。

看起来您需要将Q_DECLARE_METATYPE宏与QPainterPath 一起使用

Q_DECLARE_METATYPE (QPainterPath)

以下是相同的文档。

相关内容

  • 没有找到相关文章

最新更新