I want to update a pixmap on single click, so I tried this: import sys from PyQt4 import QtGui,QtCore
class myLabel(QtGui.QLabel): def __init__(self,*args,**kwargs): QtGui.QLabel.__init__(self,*args,**kwargs) self.painter = QtGui.QPainter() def mousePressEvent(self, ev): QtGui.QLabel.mousePressEvent(self,ev) pm = self.pixmap() self.painter.begin(pm) self.painter.setPen(QtGui.QPen(QtCore.Qt.red, 120)) self.painter.drawPoint(ev.pos()) self.painter.end() self.setPixmap(pm) print ev.pos() if __name__=='__main__': app = QtGui.QApplication(sys.argv) mw = QtGui.QWidget() model_pm = QtGui.QPixmap(300,300) model_l = myLabel() model_res_pm = QtGui.QPixmap(300,300) model_res_l = myLabel() draw_pm = QtGui.QPixmap(300,300) draw_l = myLabel() draw_res_pm = QtGui.QPixmap(300,300) draw_res_l = myLabel() map(lambda pm: pm.fill(),(model_pm,model_res_pm,draw_pm,draw_res_pm)) model_l.setPixmap(model_pm) model_res_l.setPixmap(model_res_pm) draw_l.setPixmap(draw_pm) draw_res_l.setPixmap(draw_res_pm) layout = QtGui.QGridLayout() layout.addWidget(model_l,0,0,1,1) layout.addWidget(model_res_l,1,0,1,1) layout.addWidget(draw_l,0,1,1,1) layout.addWidget(draw_res_l,1,1,1,1) mw.setLayout(layout) mw.show() mw.setFixedSize(mw.geometry().size()) sys.exit(app.exec_()) On Linux a big red square shows on click (wich is good). But under Windows pixmaps remain white (checked under Win7 and XP). Looks like a bug to me... Code on pastebin: http://pastebin.com/BKtNQ8rb PyQt-4.7 and Python 2.6.4 on both Linux and Windows.
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt