Bir for döngüsü içinde titreme içinde düğmeler oluşturmaya çalışıyorum. Ve her döngüde i sayım değerini komut değerinde bir argüman olarak geçirir. Böylece, işlev komut değerinden çağrıldığında, hangi tuşa basıldığını söyleyebilirim ve buna göre hareket etmeliyim. Sorun, len 3 olduğunu söyler, "Oyun 3" ile "Oyun 1" başlıklı 3 düğme oluşturacak, ancak düğmelerden herhangi birine basıldığında, yazdırılan değer her zaman 2, son yinelemedir. Bu yüzden düğmeler ayrı varlıklar olarak yapılmış gibi görünüyor, ancak komut argümanlarındaki i değeri hepsi aynı görünüyor.Python trankter'i, döngü bağımsız değişkenleri iletmek için
def createGameURLs(self):
self.button = []
for i in range(3):
self.button.append(Button(self, text='Game '+str(i+1),command=lambda:self.open_this(i)))
self.button[i].grid(column=4, row=i+1, sticky=W)
def open_this(self, myNum):
print(myNum)
akım i değerini almanın bir yolu var mı bu özel düğmesi ile sopa, her yineleme üzerine: İşte kod nedir? Şimdiden teşekkür ederim.
İkinize de teşekkürler LukaD ve BrenBarn, birkaç gün boyunca bununla savaşıyorum, inanıyorum ya da etmeyin. Her iki yol da mükemmel çalıştı. Şu an için gittim, şu an için düzeltiyorum, ama kesinlikle functools'u okuyacağım. Her iki cevabı da takdir ediyorum. – Marcel
BrenBarns çözümü sizin için çalışıyorsa, kabul ettiğiniz yanıt olarak işaretlemelisiniz. – lukad
[python Tkinter düğmesi komutunda argümanı geçerek] olası bir kopyası (http://stackoverflow.com/questions/6920302/passing-argument-in-python-tkinter-button-command) –