I have since found out the problem only occurs if my Button object is a child of another QGraphicsWidget subclass (ButtonBar).
However, ButtonBar does not handle any events, or install any event filters. Why should a child of a QGraphicsWidget not receive any events?