Я программирую интерфейс в PyQt4, и я использую QLabels и делаю их доступными с помощью функции mousepressevent. У меня есть несколько ярлыков (сигналов), которые имеют один и тот же слот mousepressevent. Вот суть того, что я пытаюсь сделать.Извлечение отправителя PyQt4 QLabel mousepressevent
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
lbl1=QtGui.QLabel(self)
lbl2=QtGui.QLabel(self)
lbl1.mousePressEvent=self.exampleMousePress
lbl2.mousePressEvent=self.exampleMousePress
def exampleMousePress(self,event):
print "The sender is: " + sender().text()
Проблема в том, что функция отправителя здесь не работает. Есть ли способ получить отправителя события в функции exampleMousePress?
Спасибо всем!
События не так же, как сигналы. Это две отдельные системы. У сигналов есть отправители. События нет. Какой виджет вы ожидаете получить здесь в качестве отправителя? –
Вы не можете использовать кнопку для отправки сигналов? Вы можете изменить таблицу стилей кнопки, чтобы она выглядела плоской, как этикетка. – 101
Для этой программы мне определенно нужен ярлык, а не кнопка. И спасибо за разъяснение Брендана. –