Имеется класс spuroNeMi наследующий QGraphicsItem. Если быть точным, то иерархия следующая QGraphicsItem->spuro->spuroNeMi.
В нём метод:
void spuroNeMi::difiniP1(const QPointF & p){
prepareGeometryChange();
P1 = p;
// Прокручиваю карту, чтобы не скрывать последнюю точку.
this->scene()->views()[0]->ensureVisible(p.x() * skalo, p.y() * skalo, 1, 1);
}
По идеи при его вызове должна обновляться сцена. Есть ещё несколько подобных методов, и не один из них не вызывает обновление сцены.
Если изменить масштаб, сцена обновится, и станут видны изменения элемента.
Пробовал добвлять вызов update() :
void spuroNeMi::difiniP1(const QPointF & p){
prepareGeometryChange();
P1 = p;
// Прокручиваю карту, чтобы не скрывать последнюю точку.
this->scene()->views()[0]->ensureVisible(p.x() * skalo, p.y() * skalo, 1, 1);
update();
}
Без изменений.
boundingRect реализован следующим образом:
QRectF spuroNeMi::boundingRect() const{
QPolygonF p;
p<<P1<<P2<<P3;
return (SP.boundingRect() | p.boundingRect());
}
Подскажите, как сделать, чтобы обновлялась сцена.
Если кому то не лень смотреть весь код, вот ссылки:
http://code.google.com/p/optimizationmethods/source/browse/trunk/optimizationmethods/src/spuroNeMi.h,
http://code.google.com/p/optimizationmethods/source/browse/trunk/optimizationmethods/src/spuroNeMi.cpp