我有一個字典,其中的鍵是我的PyQT界面中所有撥號的名稱。與這些鍵相關的值是與每個撥號相關聯的某些數字值,這些值需要傳遞給處理函數(以確定哪個撥號被移動)以及該撥號的新值。使用部分爲PyQt中返回值的信號創建插槽
我已經使用functools.partial爲每個數值創建處理函數的不同實例,但「valueChanged」信號返回一個整數,我不知道如何將它傳遞給部分函數以及。以下似乎不工作,因爲dialChanged函數結束從來沒有被稱爲:
for dial, cc, in dialDict.iteritems():
getattr(self.ui, dial).setRange(0,127)
getattr(self.ui, dial).valueChanged.connect(
lambda value: partial(self.windowHandler.dialChanged,
mainWindowInstance=self,
cc=cc,
value=value))
我認爲這個問題與內使用lambda函數的for循環和範圍的事,但我m不知道如何以其他方式將valueChanged信號的返回值傳遞到部分創建的插槽中。任何建議,將不勝感激。
'dialChanged'的簽名是什麼? – 2012-04-04 00:40:18