Невозможно добавить несколько графических элементов в Qt

Я пытаюсь нарисовать несколько точек в graphicsscene по щелчкам мыши. Класс точек унаследован от QGraphicsItem учебный класс. Следующие фрагменты кода показывают события рисования и мыши соответственно.

void point:: paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
if(mPaintFlag){
QPen paintpen(Qt::red);
paintpen.setWidth(4);

QPointF p1;
p1.setX(x1);
p1.setY(y1);

painter->setPen(paintpen);
painter->drawPoint(p1);
update();
}
}

void point::mousePressEvent(QGraphicsSceneMouseEvent *e)
{
if(e->button()==Qt::LeftButton) {
if(mClick){
x1 = e->pos().x();
y1 = e->pos().y();

mClick = false;
mPaintFlag = true;
update();
}
_store.set_point(e->pos());
store_point.push_back(_store);
qDebug() << _store.getValue();
qDebug() << "Size of vector =" << store_point.size();
update();
}

}

Координаты каждой построенной точки хранятся в векторе. Но я могу видеть только первый пункт, нарисованный в graphicsscene, Координаты других точек сохраняются в векторе, но эти точки, нанесенные впоследствии, не видны на сцене.

Как добиться того, чтобы все точки были нарисованы на сцене?

0

Решение

Задача ещё не решена.

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


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