Time for action – reacting to an item's selection state
The assigned pointer to a QStyleOptionGraphicsItem
item might become handy if you want to alter the appearance of the item related to its state. For example, say you want to fill the rectangle with red when it gets selected. To do so, you only have to type this:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {
Q_UNUSED(widget)
if (option->state & QStyle::State_Selected)
painter->fillRect(boundingRect(), Qt::red);
else
painter->fillRect(boundingRect(), Qt::black);
}
What just happened?
The state
variable is a bitmask holding the possible states of the item. You can check its value against the values of the QStyle::StateFlag
parameter by using bitwise ...
Get Game Programming Using Qt now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.