У меня проблема прямо сейчас с моей мини-игрой, которую я делаю. Проблема заключается в следующем: я создал редактор уровней для своей игры, и поэтому мне пришлось создать свой собственный делегат и модель, проблема возникает, когда я пытаюсь редактировать через фигурирующий (что скорее создает малярный путь). Затем я возвращаю painterpath через данные, но когда я пытаюсь нарисовать его с моим делегатом, кварта говорит мне следующее сообщение об ошибке:Преобразование QVariant в QPainterPath
/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
Но это не сработало>. < Спасибо, если вы можете мне помочь Возможное решение, есть ли вообще создать pixmap из живописного пути? Я мог бы просто вернуть pixmap вместо малярного пути.
Вы сначала объявили QPainterPath как мета-тип? См. Http://qt-project.org/doc/qt-5.0/qtcore/qmetatype.html#Q_DECLARE_METATYPE – ypnos