在 PyQT 中获取 QLabel 点击的信息

Getting Information Which QLabel Clicked in PyQT

我有一个 QLabel 列表,想知道点击了哪个 QLabel。当我寻找使 QLabel 可点击时,此代码有效:

 labels[i].mousePressEvent = self.print_some
 def print_some(self, event):
    print("Clicked")

但我没有弄清楚点击了哪个对象。我该怎么做?

您可以轻松地为事件创建自定义接收器,其中包含事件源信息:

import functools

labels[i].mousePressEvent = functools.partial(self.print_some, source_object=labels[i])

def print_some(self, event, source_object=None):
    print("Clicked, from", source_object)