[PyQt] Question about drawing background images in a QGraphicsScene and QGraphicsView
Hans-Peter Jansen
hpj at urpla.net
Wed Dec 8 17:35:18 GMT 2010
On Wednesday 08 December 2010, 16:26:01 dizou wrote:
> I have a QGraphicsScene and a QGraphicsView. I am currently using the
> QGraphicsView to draw a backgorund image. I have reimplemented the
> QGraphicsView::drawBackground() function like this:
>
> def drawBackground(self, painter, rect):
> sceneRect = self.sceneRect()
> if self.background:
> rectf = QRectF(self.background.rect())
> painter.drawPixmap(sceneRect, self.background, rectf)
> else:
> painter.fillRect(rect.intersect(sceneRect),
> QBrush(Qt.lightGray))
> painter.setBrush(Qt.NoBrush)
> painter.drawRect(sceneRect)
>
> self.background is a QPixmap:
> self.background = QPixmap(':/some_image.png')
> The problem with this is that if the PNG is not in my .qrc file, the
> background image does not show up. I would like to make it so that I
> can use any image I want without having to put it into the .qrc. How
> would I do this?
Why don't you check a physical path beforehand, and only use the
resource png, if none physically exist?
Pete
More information about the PyQt
mailing list