Kev*_*vin 1 python qt pyqt signals-slots pyside
这是我的按钮
# Delete button
deleteButton = QtGui.QPushButton("X", self)
deleteButton.clicked[bool].connect(lambda: self.delete_listener(listener))
Run Code Online (Sandbox Code Playgroud)
我想做类似的事情
deleteButton.clicked[bool].connect(lambda: self.delete_listener(listener))
deleteButton.clidked[bool].connect(lambda: self.stop_send_data())
Run Code Online (Sandbox Code Playgroud)
我能想到的最简单的方法是制作
delete_listener
Run Code Online (Sandbox Code Playgroud)
称呼
stop_send_data
Run Code Online (Sandbox Code Playgroud)
但无论如何我可以绕过它吗?
我想做类似的事情..
你做到了吗?因为它确实有效。在 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_()
Run Code Online (Sandbox Code Playgroud)