[PyQt] exposedRect option passed to paint in subclass of QGraphicsItem
Antonio Valentino
antonio.valentino at tiscali.it
Sun Jan 17 18:38:45 GMT 2010
Hi Buddy,
Il giorno Sun, 17 Jan 2010 11:14:29 -0700 (MST)
buddy+pyqt at nmt.edu ha scritto:
> I just updated my windows machine to the latest Qt and PyQt versions
> and I've been having a problem with my custom subclasses of
> QGraphicsItems. When I reimplement the paint method it gets passed
> several option as a QStyleOptionGraphicsItem object. The exposedRect
> member of that is suppose to contain the area the needs to be
> repainted, however I always get a null rectangle. Attached is a
starting from Qt 4.6 exposedRect should contain the bounding box of
the item unless you set the QGraphicsItem::ItemUsesExtendedStyleOptions:
see
http://qt.gitorious.org/qt/qt/blobs/d16ba0a93d611689bce9a2732a1cc8c9a317f5bf/dist/changes-4.6.0#line1075
and
http://www.riverbankcomputing.com/pipermail/pyqt/2010-January/025521.html
> simple example I put together to illustrate the problem. The example
> attached is suppose to draw a 3x3 rectangle under the mouse cursor
> when the mouse button is pressed down, but since the exposedRect is
> always null it does nothing. It also prints out the rectangle and I
> always get lines of all zeroes. I think this may be a bug, but
> please tell me if I'm just doing something wrong or if something is
> messed up with my PyQt install.
In your specific case I think you forgot to implement the boundingRect
method in yout custom QGraphicsItem.
Best regards
--
Antonio Valentino
More information about the PyQt
mailing list