1
我使用for循環像這樣創建的QAction對象列表中單擊所觸發的功能參數:傳遞的QAction對象,調用triggered.connect()在後,我上的QAction
class some_class:
self.tabs = []
for self.i in range(0,10):
self.tabs[self.i] = QtGui.QAction("New", self)
self.tabs[self.i].triggered.connect(self.some_function)
def some_function(self):
print self.i
每當我點擊任何創建的選項卡,它只會觸發選項卡[9]並僅打印「9」。
那麼如何傳遞的QAction對象本身在由此引發some_function()
action.triggered.connect( 拉姆達*指定參數時,指數= index:self.some_function(index)) 產生語法錯誤 –
@SahilGupta。這對我來說可以。沒有任何錯誤。你一定已經改變了我的代碼。什麼是語法錯誤? – ekhumoro
它適用於action.triggered.connect(lambda:self.some_function(index))&也有(lambda * args:self.some_function(index)),但會產生語法錯誤\t action.triggered.connect(lambda * args ,index = index:self.some_function(index))。感謝您講述使用lambda函數。 –