pyqt5 如何识别该函数中是哪个qpush_button激活了该函数? [关闭]

Posted

技术标签:

【中文标题】pyqt5 如何识别该函数中是哪个qpush_button激活了该函数? [关闭]【英文标题】:pyqt5 How to recognize which qpush_button activates the function in this function? [closed] 【发布时间】:2016-09-12 18:07:39 【问题描述】:

喜欢主题。我正在寻找一种方法来识别哪个 qpush_button 激活了这个函数中的函数。

【问题讨论】:

例如,我有 3 个 push_buttons: push_button_1 push_button_2 push_button_3 整体与一个名为“how_active”的函数连接如果我按下 push_button_3 -> how_active 返回 ex。按钮名称。 【参考方案1】:

有两种方法可以做到这一点。一种是通过 partial 函数在函数调用中包含一些附加数据。另一种方式是使用Qt的sender()方法

self.button1.clicked.connect(lambda: self.button_clicked(self.button1))
self.button2.clicked.connect(lambda: self.button_clicked(self.button2))

def button_clicked(self, button):
    print button

另一种方法是使用sender()方法

self.button1.clicked.connect(self.button_clicked)
self.button2.clicked.connect(self.button_clicked)

def button_clicked(self):
    print self.sender()

【讨论】:

感谢帮助 :)

以上是关于pyqt5 如何识别该函数中是哪个qpush_button激活了该函数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

tkinter(多个Button对应同一个回调函数如何识别响应的是哪个Button?)

如何识别在反应中单击了哪个按钮?

PyQt5:查找点击了哪个 QPushButton

如何杀死 PyQt5 中的 QRunnable?

如何正确编写 PyQT5 事件函数

为啥main方法在java中是静态的[重复]