问题
I have qlabels that displaying images . I want to delete image if user clicks remove button . I can learn which image clicked
labels[i].mousePressEvent = functools.partial(self.remove_image, source_label = labels[i] ,source_image = pixmap)
but i couldn't use it and connects with button . How can i remove image ?
回答1:
Assuming labels[]
has a list of label
s ID, I think you can do something like:
labels[i].mousePressEvent = functools.partial(self.remove_image, source_label = labels[i]) #just pass to self.remove_image the label id
Then in self.remove_image
and since label.clear()
(to clear content of label) is a SLOT then, you can connect it to clicked
signal directly:
def remove_image(self, label_id):
QtCore.QObject.connect(self.deleteButton, QtCore.SIGNAL("clicked()"), label_id.clear)
来源:https://stackoverflow.com/questions/34520919/remove-an-image-in-qlabel-after-button-clicked