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