Python - Tkinter'da Buttonlara Döngü Halinde Command Ekleme Sorunu

Merhaba,

Tkinter modülünü kullanırken for döngüsü ile 10 tane buton oluşturup bu butonların her birine farklı command atamak istiyorum. Bunu yapabileceğim bir yol var mı?

self.satir = 1
self.sutun = 1

        Button(self.frame_dugmeler, image=self.icon_para_transferi, bd=0, bg="black").grid(row=self.satir, column=self.satir, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_banka_virman, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_borc_alacak, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_borc_takip, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_kredi_karti, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_firma, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_musteri, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)
        self.sutun += 1
        Button(self.frame_dugmeler, image=self.icon_islem_turu, bd=0, bg="black").grid(row=self.satir, column=self.sutun, padx=self.padx1)

Bu şekilde bir kalabalık oluşturmak doğru gözükmüyor.

Merhaba, buttonların her birinin özelliklerini sözlük içinde tutabilirsiniz. for döngüsünü de sözlük için çalıştırıp, anahtar ve/veya değerleri buttonlara yerleştirebilirsiniz.

1 Beğeni

Teşekkür ederim üstadım. Konuyu açmadan önce lambda ile çözümler gördüm fakat hem tam olarak işlevini çözemedim kullanımı açısından hem de daha basit olabilir diye düşündüm sözlük liste çözümü güzel eyvallah.

Şöyle bir örnek yapılabilir:

for icon, function in zip([icon1, icon2], [start, stop]):
    Button(self.frame_dugmeler, image=icon, bd=0, bg="black", command=function).grid(row=self.satir, column=self.sutun, padx=self.padx1)
    self.satir += 1