[PyQt] QLabel with scaled contents pixmap not updated after painting
Maurizio Berti
maurizio.berti at gmail.com
Tue Nov 26 12:47:40 GMT 2019
I noticed a strange behavior when drawing over an existing QPixmap of a
QLabel.
When scaledContents is false (the default), the image is updated correctly:
class Test(QtWidgets.QLabel):
def __init__(self):
super().__init__()
self.setPixmap(QtGui.QPixmap(400, 400))
def mousePressEvent(self, event):
qp = QtGui.QPainter(self.pixmap())
qp.setBrush(QtCore.Qt.white)
qp.drawRect(100, 100, 200, 200)
qp.end()
self.update()
But if I use setScaledContents(True) in the init, the image is not updated
anymore, not even after calling repaint or hiding/showing the label again.
So far, the only way I found to show the changes is to set the scaled
contents to false and back again to true, right after closing the painter.
I have to specify that I'm using an old version of PyQt (5.7.1) which I
cannot update, so maybe the issue has been already solved. Also, I'm on
Linux, using xorg-x11.
Can anyone confirm this?
Maurizio
--
È difficile avere una convinzione precisa quando si parla delle ragioni del
cuore. - "Sostiene Pereira", Antonio Tabucchi
http://www.jidesk.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20191126/eec57733/attachment.html>
More information about the PyQt
mailing list