Qt C ++ Ошибка при рисовании простого многоугольника - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть старая программа на С ++, которую мне нужно вернуть к жизни.Моя задача сейчас нарисовать один полигон.Я застрял в самом начале, так как у меня нет опыта в графике.Точки, которые я хочу использовать для рисования полигена, хранятся в

QVector точек , который выглядит так:

enter image description here

Теперь я хочу нарисовать свой многоугольник.Я использую этот код:

            ggScene = new QGraphicsScene();   
            QPolygonF shape(points);
            QGraphicsItem* gg = ggScene->addPolygon(shape);

При компиляции я получаю следующую ошибку:

не может преобразовать QGraphicsPolygonItem * в QGraphiscItem при инициализации

Может любой биодпомогите мне в этом, пожалуйста, спасибо.

1 Ответ

0 голосов
/ 07 декабря 2018

Я собираюсь выйти на конечность и предположить, что фактическое сообщение об ошибке ...

не может преобразовать 'QGraphicsPolygonItem *' в 'QGraphicsItem *' при инициализации

(примечание QGraphicsItem*, а не просто QGraphicsItem)

В таком случае проблема, вероятно, заключается в том, что компилятор видит только предварительное объявление QGraphicsPolygonItem.Следовательно, он не знает, что QGraphicsPolygonItem наследует от QGraphicsItem и поэтому не может выполнить неявное преобразование из QGraphicsPolygonItem* в QGraphicsItem*.

Исправление, вероятно, является простым добавлением ...

#include <QGraphicsPolygonItem>
...