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>
Другие вопросы по тегам