0
我有几个小部件将连接到一个需要额外参数的函数。Qt - 使用lambda参数连接槽
我发现我可以使用lambda函数来传递函数的一些参数。
问题是参数在循环中被替换,并且lambda函数仅传递最后一个集合。
继承人我得到了什么:
self.widgets是密钥的词典]为组按钮,使之短,让我们说,它有2个按钮[QToolButton],与他们的钥匙:“戏'和'停止'。
def connections(self):
for group in self.widgets:
self.widgets[group].clicked.connect(lambda: self.openMenu(group))
def openMenu(self,group):
print group
但是不管我点击哪个按钮,它总是会打印相同的组,这是最后一次迭代的for循环。
有什么办法解决这个问题?
可能重复(http://stackoverflow.com/questions/27208706/pyqt-connect-inside- for-loop-vs-separate-calls-results-in-different-behavior) – 2014-12-03 02:26:51