У меня есть старая программа на С ++, которую мне нужно вернуть к жизни. Моя задача сейчас нарисовать один полигон. Я застрял в самом начале, так как у меня нет опыта в графике. Точки, которые я хочу использовать для рисования полигена, хранятся в
QVector < QPointF> очки который выглядит так:
Теперь я хочу нарисовать свой полигон. Я использую этот код:
ggScene = new QGraphicsScene();
QPolygonF shape(points);
QGraphicsItem* gg = ggScene->addPolygon(shape);
При компиляции я получаю следующую ошибку:
невозможно преобразовать QGraphicsPolygonItem * в QGraphiscItem при инициализации
Может ли кто-нибудь помочь мне в этом, пожалуйста, спасибо.
Я собираюсь выйти на конечность и предположить, что фактическое сообщение об ошибке …
невозможно преобразовать ‘QGraphicsPolygonItem *’ в ‘QGraphicsItem *’ в
инициализация
(Заметка QGraphicsItem*
а не просто QGraphicsItem
)
Если это так, то проблема, вероятно, в том, что компилятор видит только предварительное объявление QGraphicsPolygonItem
, Следовательно, он не осознает, что QGraphicsPolygonItem
наследуется от QGraphicsItem
и поэтому не может выполнить неявное преобразование из QGraphicsPolygonItem*
в QGraphicsItem*
,
Исправление, вероятно, простое добавление …
#include <QGraphicsPolygonItem>
Других решений пока нет …