2
我沒有收到任何錯誤消息,但for循環不會產生與顯式語句相同的結果。 kp是類的一個實例,key0-9是該類的子元素。我想要做的事情實際上工作?如果是,那麼也許是關於如何構建PyQt4類的問題。Python for循環不能按預期工作
這工作:
def open_kp1(self, kp, le):
self.inputStr = le.text()
kp.key1.clicked.disconnect()
kp.key2.clicked.disconnect()
kp.key3.clicked.disconnect()
kp.key4.clicked.disconnect()
kp.key5.clicked.disconnect()
kp.key6.clicked.disconnect()
kp.key7.clicked.disconnect()
kp.key8.clicked.disconnect()
kp.key9.clicked.disconnect()
kp.key0.clicked.disconnect()
... more code
這不:
def open_kp1(self, kp, le):
self.inputStr = le.text()
key_list = (kp.key1, kp.key2, kp.key3, kp.key4, kp.key5, kp.key6, kp.key7,
kp.key8, kp.key9, kp.key0)
for key in key_list:
key.clicked.disconnect()
... more code
其他,我不知道我看到了差距 –
嗯,是有區別的:當一些由'斷開()觸發''修改KP .key?',第二個版本仍然會使用舊的參考。 – dhke
@dhke好吧,這將是一個可怕的設計:'disconnect'方法在'clicked'對象上。無論如何不知道這些物體是什麼,我們無法說出。但在99%的情況下,它是一樣的,OP的經歷是另一回事,即xy問題。 – freakish