Öncelikle widget düzeninizin nasıl olacağını bilmiyorum. Yerleştirme işlemini bu düzene göre yapacaksınız. Ama örnek olarak nasıl yapabileceğinizi gösteren bir kod paylaşabilirim. Siz kodu inceleyip, kendi uygulamanıza göre değişiklikler yapabilirsiniz.
Mesela, aşağıdakiler sizin kodlarınız.
for musteri in cursor.fetchall():
lb = Label(kasadurumu2panel)
lb.config(text=u"%s" % musterihizno1)
lb.grid(row=1,column=1)
lc = Label(kasadurumu2panel)
lc.config(text=u"Müşteri Adı Soyadı Kasa Sahibi")
lc.grid(row=2,column=0)
ld = Label(kasadurumu2panel)
ld.config(text=u"%s" % musteriismi1)
ld.grid(row=2,column=1)
le = Label(kasadurumu2panel)
le.config(text=u"Müşteri Kasa Durumu")
le.grid(row=3,column=0)
lf = Label(kasadurumu2panel)
lf.config(text=u"%s" % musteribakiye1)
lf.grid(row=3,column=1)
Şimdi bu kodları aslında okuyabiliyor olmanız lazım. Beraber okuyalım. Veritabanındaki her bir musteri
satırı için widgetler tanımlanacak. Güzel.
Peki bu widgetlerin grid
metotları nasıl çağrılıyor? Sabit parametreler alarak.
Peki bu ne anlama gelir? Döngü sayesinde her seferinde oluşturulacak olan yeni widgetler, döngünün ilk basamağında oluşmuş olan widgetlerin yerine yerleştirilir.
Demek ki ekrana yerleştirmek için grid
metoduna row=0
, column=1
gibi sabit parametreler yazmamak gerekiyor.
O halde kodları şöyle değiştiriyorum:
sayac = 1
for musteri in cursor.fetchall():
lb = Label(kasadurumu2panel)
lb.config(text=u"%s" % musterihizno1)
lb.grid(row=sayac, column=1)
lc = Label(kasadurumu2panel)
lc.config(text=u"Müşteri Adı Soyadı Kasa Sahibi")
lc.grid(row=sayac + 1, column=0)
ld = Label(kasadurumu2panel)
ld.config(text=u"%s" % musteriismi1)
ld.grid(row=sayac + 2, column=1)
le = Label(kasadurumu2panel)
le.config(text=u"Müşteri Kasa Durumu")
le.grid(row=sayac + 3, column=0)
lf = Label(kasadurumu2panel)
lf.config(text=u"%s" % musteribakiye1)
lf.grid(row=sayac + 3, column=1)
sayac += 3
Bakın burada sayac
isminde bir değişken tanımladık. Ve bu değişken, döngü her başa sardığında, 3
birim artırılır. Dolayısıyla, her seferinde widgetler birbirlerinin üstüne değil, sürekli altına gelirler. Tabi bu durumu, oluşturmak istediğiniz widget düzenine göre yeniden belirleyebilirsiniz. Yani sabit bir sayı yerine, değişken kullanın demekten kastettiğim buydu.