2016-09-12 12 views
-1

喜歡話題。我正在尋找一種方法來識別哪個qpush_button激活此函數中的函數。pyqt5如何識別哪個qpush_button激活此函數中的函數?

+0

例如我有3個push_buttons: push_button_1 push_button_2 push_button_3 整個連接一個名爲「how_active」的函數 如果我按下push_button_3 - > how_active ret甕push_button名稱。 – ffg

回答

2

有兩種方法可以做到這一點。一種是通過部分函數在函數調用中包含一些附加數據。另一種方法是使用了Qt 發送者()方法

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() 
+0

Thx尋求幫助:) – ffg