On 8/23/07, David Boddie <[EMAIL PROTECTED]> wrote: > On Thu Aug 23 16:04:19 BST 2007, Devon wrote: > > > > If you pass a device (self in this case) when you create a QPainter, don't > > > call its begin() or end() methods. I think its the end() call that > > > actually triggers this message in this case. > > > > I'm not explicitly calling begin() - I believe that's happening in > > QPainter(self). painter.end() is not the root cause. > > OK. I just noticed the use of an explicit end() without an explicit begin() > and jumped to conclusions about the cause of the problem. Sorry about that. > > Anyway, it looks like we're trying to paint onto the wrong device - the > QAbstractScrollArea documentation for its paintEvent() method says this: > > This event handler can be reimplemented in a subclass to receive paint > events (passed in event), for the viewport() widget. > > Note: If you open a painter, make sure to open it on the viewport(). > > So you write your paintEvent() to do this instead: > > def paintEvent(self, e): > QTreeWidget.paintEvent(self, e) > painter = QPainter(self.viewport()) > > David
Perfect. Thanks for your help! ~ Devon _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
