【问题标题】:Remove an Image in QLabel After Button Clicked单击按钮后删除 QLabel 中的图像
【发布时间】:2015-12-29 23:47:13
【问题描述】:

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

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

但我无法使用它并使用按钮连接。如何删除图像?

【问题讨论】:

  • 这些QLabelslistWidget 中吗?
  • @IronFist 不,框架中的 QLabels。有关系吗?
  • Okey...我只是在想,如果这些 QLabels 在 listWidget 中,通过选择这些并删除它们很容易删除它们一次。但是在您的情况下,您想删除用户单击的图像,是每次单击删除一个图像还是单击一次删除多个图像?
  • 每次点击删除一张图片。上面的代码示例我可以得到哪个 QLabel 点击了但我无法通过按钮点击进行连接。

标签: python pyqt qlabel


【解决方案1】:

假设labels[] 有一个labels 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    相关资源
    最近更新 更多