QVariant преобразование в QPainterPath

У меня сейчас проблема с моей мини-игрой, которую я делаю. Проблема заключается в следующем: я создал редактор уровней для своей игры, и поэтому мне пришлось создать свой собственный делегат и модель, проблема возникает, когда я пытаюсь редактировать с помощью редактора шейдеров (который, скорее всего, создает путь живописца). Затем я возвращаю путь живописца через данные, но когда я пытаюсь нарисовать его с моим делегатом, 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

Но это не сработало>.< Спасибо, если вы можете мне помочь
Возможное решение, есть ли в любом случае создать растровое изображение из маршрута живописца? Я мог бы просто вернуть растровое изображение вместо рисовальщика.

0

Решение

Похоже, вам нужно использовать макрос Q_DECLARE_METATYPE с QPainterPath

подобно

Q_DECLARE_METATYPE (QPainterPath)

Вот это документация для того же.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]