pyqt5:在循环中连接时将额外的参数传递给pyqt槽

时间:2015-10-03 08:45:26

标签: python pyqt pyqt5

无法理解为什么此代码总是向我显示相同的结果:i = 4

for i in range(0,5):
    self.close_deal[i].clicked.connect(lambda:self.printme(i))
def printme(self,i):
    print('i=',i)

但当我把它写成:

self.close_deal[0].clicked.connect(lambda:self.printme(0))
self.close_deal[1].clicked.connect(lambda:self.printme(1))
self.close_deal[2].clicked.connect(lambda:self.printme(2))
self.close_deal[3].clicked.connect(lambda:self.printme(3))
self.close_deal[4].clicked.connect(lambda:self.printme(4))

我收到不同的结果

0 个答案:

没有答案