по поводу метода paint -
http://doc.crossplatform.ru/qt/4.7.x/qgraphicsitem.html#paintтак же paint отрабатывает после вызова update().
Под флагом, да, я имею ввиду атрибут класса. На мой взгляд, вполне покатит)
А QPainter нада настраивать непосредственно в методе paint
Примерно так:
void YourItem::paint(QPainter *_painter, const QStyleOptionGraphicsItem* _style, QWidget* _widget)
{
_painter->save(); // сохраняем настройки пэинтера
_painter->setPen(Qt::green); // делаем новые настройки пэинтера и рисуем чё-то своё
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
_painter->drawRect(rectangle);
_painter->restore(); // восстанавливаем настройки пэинтера, если дальше хотим рисовать что-то пэинтером из входного параметра
// рисуем что-то пэинтером из входного параметра
}