Вот что у меня получилось.
void runWindow::paintEvent(QPaintEvent *e) {
if (it != 0 && colornum != -1) {
QPainter *p = new QPainter (this);
p->setBrush(QBrush (num2col(colornum)));
it->paint(p, new QStyleOptionGraphicsItem(), this);
it = 0;
}
}
it и colornum общедоступные переменные, заполняются правильно. it - QGraphicsItem, нарисованный на сцене. Как мне без переопределения класса QGraphicsItem реализовать заливку? при перерисовке вывод такой: QPaintEngine::setSystemRect: Should not be changed while engine is active QPaintEngine::setSystemRect: Should not be changed while engine is active QPaintEngine::setSystemRect: Should not be changed while engine is active
Возможно нужно что-то сделать с QPaintEngine?
Вариант с переопределением класса рассматривается в последнюю очередь - я рисую и круги, и прямоугольники.
Какие варианты существуют?