0
Salut tout le monde je travaille sur l'utilisation des événements QPainter et de la souris et je veux mettre l'arrière-plan du QPainter noir j'ai utilisé ce code, mais ne fonctionne pas Merci d'avanceensemble fond QPainter
class Drawer(QWidget):
newPoint = pyqtSignal(QPoint)
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.path = QPainterPath()
def paintEvent(self, event):
painter = QPainter(self)
painter.setPen(QColor(168, 34, 3))
painter.setFont(QFont('Decorative', 10))
bbrush = QtGui.QBrush(QtGui.QColor(0,0,0),QtCore.Qt.SolidPattern)
painter.setBackground(painter,bbrush)
painter.drawPath(self.path)
def mousePressEvent(self, event):
self.path.moveTo(event.pos())
self.update()
def mouseMoveEvent(self, event):
self.path.lineTo(event.pos())
self.newPoint.emit(event.pos())
self.update()
def sizeHint(self):
return QSize(400, 400)
class MyWidget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setLayout(QVBoxLayout())
label = QLabel(self)
drawer = Drawer(self)
drawer.newPoint.connect(lambda p: label.setText(
'Coordinates: (%d : %d)' % (p.x(), p.y())))
self.layout().addWidget(label)
self.layout().addWidget(drawer)
'changement painter.setBackground (peintre, bbrush)' 'à painter.setBackground (bbrush)' – eyllanesc
Merci homme, mais ne fonctionne toujours pas, en fait, je l'ensemble du code comme ceci: – hbdz
Je ne comprends pas ce que vous voulez faire, juste commenter parce que la méthode setBackgound() ne nécessite pas de QPainter. Je ne comprends pas ce que vous voulez, vous pourriez montrer une image de ce que vous obtenez et un autre de ce que vous voulez. – eyllanesc