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