单击按钮后删除 QLabel 中的图像

Remove an Image in QLabel After Button Clicked

我有显示图像的 qlabels。如果用户单击删除按钮,我想删除图像。我可以了解点击了哪张图片

labels[i].mousePressEvent = functools.partial(self.remove_image, source_label = labels[i] ,source_image = pixmap)

但我无法使用它并与按钮连接。我怎样才能删除图片?

假设 labels[] 有一个 label 的 ID 列表,我想你可以这样做:

labels[i].mousePressEvent = functools.partial(self.remove_image, source_label = labels[i]) #just pass to self.remove_image the label id

然后在self.remove_image中,由于label.clear()(清除标签内容)是一个SLOT,那么,你可以将它连接到clicked直接发信号:

def remove_image(self, label_id):
    QtCore.QObject.connect(self.deleteButton, QtCore.SIGNAL("clicked()"), label_id.clear)