2017-03-06 3 views
1

Nachdem ich ein Bild auf einem PyQt Label angezeigt habe, möchte ich ein Rechteck über das angezeigte Bild zeichnen. Beachten Sie, dass ich nicht "zeichnen" meine, wie der Benutzer ein Rechteck auf das Bild "zeichnet", sondern dass ich nur ein Rechteck über dem Bild erstellen möchte. Ich habe den entsprechenden Code für Matplotlib-Achsen, aber ich bin mir nicht sicher, wie ich das Gleiche in PyQt machen soll.PyQt - wie man ein Rechteck auf ein Bild legt

# Create Figure/Axes Instance 
figure,axes = matplotlib.pyplot.subplots() 
axes.imshow(imageRGB) 

# Draw Rectangle 
axes.add_patch(matplotlib.patches.Rectangle((50,50),100,100,fill=False,edgecolor='red')) 

Antwort

4
# convert image file into pixmap 
self.pixmap_image = QtGui.QPixmap(self.filename) 

# create painter instance with pixmap 
self.painterInstance = QtGui.QPainter(self.pixmap_image) 

# set rectangle color and thickness 
self.penRectangle = QtGui.QPen(QtCore.Qt.red) 
self.penRedBorder.setWidth(3) 

# draw rectangle on painter 
self.painterInstance.setPen(self.penRectangle) 
self.painterInstance.drawRect(xPos,yPos,xLen,yLen) 

# set pixmap onto the label widget 
self.ui.label_imageDisplay.setPixmap(self.pixmap_image) 
self.ui.label_imageDisplay.show() 
Verwandte Themen