C++ (Qt)void QGraphicsPolygonItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ Q_D(QGraphicsPolygonItem); Q_UNUSED(widget); painter->setPen(d->pen); painter->setBrush(d->brush); painter->drawPolygon(d->polygon, d->fillRule); if (option->state & QStyle::State_Selected) qt_graphicsItem_highlightSelected(this, painter, option);}
C++ (Qt)void MyPolygonItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ bool selected = (option->state & QStyle::State_Selected) != 0; option->state &= ~QStyle::State_Selected; QGraphicsPolygonItem::paint(painter, option, widget); if (selected) { option->state |= QStyle::State_Selected; MyDrawSelect(painter, option, widget); }}
[quote author=Igors link=topic=28597.msg209285#msg209285 date=1426419474][quote author=AzazelloAV link=topic=28597.msg209281#msg209281 date=1426417265]Мало того, не существует возможности заменить рамку на свою, приходится так извращаться, что ужас. И эта не та "рамка", которую не стоит изменять, дабы не сбить пользователя с толку.[/quote]