Tkinter döngü ile oluşturulan Entry nin adresi nedir?


#1

Merhabalar ,
Bir listeden for döngüsü ile Label ve Entryler oluşturuyorum.
Ancak Entry deki veriyi almak için entryadı.get() fonksiyonu kullanmam gerekiyor döngü ile oluşturduğumda bu isme ulaşamıyorum örnek kod aşağıda yardımcı olabilir misiniz?

urun_olusturma = [[“Barkod No :”, “barkod_no”],
[“Ürün Adı :”,“urun_adi”],
[“Market Kodu :”,“market_kodu”],
[“Market Adı :”,“market_adi”],
[“Şube Adı :”,“sube_adi”],
[“Fiyatı :”,“fiyat”]]

for i in urun_olusturma:
Label(text = i[0]).pack()
Entry(text = i[1],width = 30).pack()

bu şekilde oluşturulan Enrty deki veriye nasıl ulaşabiliriz?


#2

Tüm pencere araçlarını bir sözlüğe nesne olarak kaydedebilirsiniz. Yani şu şekilde

#coding: utf-8

from tkinter import *

pencere = Tk()
pencere.geometry("400x400")

def yazi_al(event = None):
    for i in widgets:
        print(widgets[i]["entry"].get())

# araçları tanımlama
widgets = {"barkod_no":
               {"label":Label(text = "Barkod No :"),"entry":Entry(text = "barkod_no",width = 30)},
           "urun_adi":
               {"label":Label(text = "Ürün Adı :"),"entry":Entry(text = "urun_adi",width = 30)},
           "market_kodu":
               {"label":Label(text = "Market Kodu :"),"entry":Entry(text = "market_kodu",width = 30)},
           "market_adi":
               {"label":Label(text = "Market Adı :"),"entry":Entry(text = "market_adi",width = 30)},
           "sube_adi":
               {"label":Label(text = "Şube Adı :"),"entry":Entry(text = "sube_adi",width = 30)},
           "fiyat":
               {"label":Label(text = "Fiyatı :"),"entry":Entry(text = "fiyat",width = 30)}
           }

for i in widgets: # Pencereye yerleştirme
    widgets[i]["label"].pack()
    widgets[i]["entry"].pack()


Button(text = "Test",command = yazi_al).pack() # butona tıklanınca tüm entry'lerdeki verileri yazar

mainloop()

#3

Öncelikle cevap için teşekkürler.

Ben bu kadar uzun yazmamak için direkt ulaşabileceğim bir kısa yol var mı onu merak ediyorum.
ancak şimdilik bunu kullanacağım teşekkürler.


#4

Önce şu:


Sonra yardımcı olacağım. :slight_smile: