我现在制作的迷你游戏有问题。问题如下:我为我的游戏创建了一个关卡编辑器,因此我必须创建自己的委托和模型,当我尝试通过 shapeeditor 进行编辑时会出现问题(它更有可能创建一个painterpath)。然后我通过数据返回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。