在旧式信号和插槽中,我能够将自己的参数传递给处理程序,就像这样。 (在这种情况下,我传递一个Widget和一个对self的引用)
obj.connect(form.tableScores,QtCore.SIGNAL("itemChanged(QTableWidgetItem*)"),lambda: itemChanged(form,obj))
唯一的缺点是我丢失了QTableWidgetItem数据,但是我能够通过form参数中的widget引用来获取它。关键是我需要访问这个方法给我的obj。
但是在新风格中我收到了错误。
form.tableScores.itemChanged.connect(itemChanged(form,obj))
我似乎只限于这种格式
form.tableScores.itemChanged.connect(itemChanged)
有没有办法可以在新风格的信号和插槽中传递我自己的参数,理想情况下还可以保留对QTableWidgetItem的引用?
答案 0 :(得分:1)
是的,您可以使用 functools 模块
示例:
import functools
然后您可以将参数用于:
form.tableScores.itemChanged.connect(functools.partial(itemChanged, param1, param2, param3, [...]))