这是我的按钮
# Delete button
deleteButton = QtGui.QPushButton("X", self)
deleteButton.clicked[bool].connect(lambda: self.delete_listener(listener))
我想做点什么
deleteButton.clicked[bool].connect(lambda: self.delete_listener(listener))
deleteButton.clidked[bool].connect(lambda: self.stop_send_data())
我能想到的最简单方法是制作
delete_listener
呼叫
stop_send_data
但无论如何我可以绕过那个?
答案 0 :(得分:4)
我想做点什么......
你做到了吗?因为它确实有效。在Qt中,您可以将单个信号连接到多个插槽。执行顺序可能无法保证,因此无关紧要。但是,如果订单很重要,您可以执行user2600939建议的操作(将两个操作都放在一个操作中)。
一次点击完成两项操作的小例子:
from __future__ import print_function
from PySide import QtGui
app = QtGui.QApplication([])
button = QtGui.QPushButton('Click me')
button.clicked.connect(lambda: print('tip'))
button.clicked.connect(lambda: print('top'))
button.show()
app.exec_()
答案 1 :(得分:0)
创建一个调用这两种方法的方法......
class ClassName:
#init and other methods...
def deleteButtonMethod(self,listener):
self.delete_listener(listener)
self.stop_send_data()
然后在使用
单击按钮时调用您的方法deleteButton.clicked[bool].connect(lambda: self.deleteButtonMethod(listener))
我没有pyside的经验所以我离开lambda你可能只是打电话给... deleteButton.clicked [BOOL] .connect(self.deleteButtonMethod(受听者))