Tkinter entry içindeki yazıyı çekemiyorum

Merhaba,

sinifekle = Entry()

sinifekle.grid(row=3, column=2)

a = sinifekle.get()

print(a)

eklebuton = Button(command=a)

eklebuton.grid(row=4, column=2)

Böyle bir kod yaptım. Fakat Entry içindeki yazıyı çekmiyor. Hatada vermiyor. Sorun nerede?

Tkinter kütüphanesi çok fazla bilgili olduğum bir alan değil ama Entry() içine bir argüman girmeniz gerekmiyor mu root gibi?

Bildiğim kadarıyla hayır hocam. İnternetteki örneklerde içine bir şey yazılmıyor.

Şu linki bırakayım belki faydalı olabilir:
tkinter - Getting the value of an Entry widget | tkinter Tutorial

Burada dediğim şekilde yapılmış çünkü.

sinif_variable = StringVar()
sinifekle = Entry(textvar=sinif_variable)

sinifekle.grid(row=3, column=2)

def ornek():
   a = sinif_variable
   print(a.get())

eklebuton = Button(text="Tıkla",command=ornek)

minimal bir eklemeyle sanırım böyle birşey istiyorsunuz

Hocam bu kodu yaptım oldu. Teşekkürler.

Ben bu kodları def içerisine yerleştireceğim. Fakat bildiğim kadarıyla def içinde def olmuyor.

Yani def ornek i her hangi bir değişkene çevirmem gerek. Bunu nasıl yapabilirim?

def ornek():
    a = sinif_variable
    def ornek2():
        print(a.get())
    ornek2()

Acaba böyle bir şey mi istiyorsunuz ? yanlış anlamışta olabilirim daha iyi bilenler yazacaktır siz araştırmaya devam edin

Yok şunu demeye çalıştım. Şimdi ben bu sistemi zaten bir def içerisinde koyacağım. Fakat bildiğim kadarıyla def içinde def olmuyor. Nasıl bu def sistemini değişkene çevirebilirim?

Dediğiniz bu linkteki olabilir mi

Evet hocam aynen bu. Teşekkür ederim. Düşünce yapım iyi olmadığı için aklıma gelmiyor böyle fikirler.

sorun çözüldü mü ? …

Maalesef hocam.

def sinifEkleEntry():

    sinif_variable = StringVar()

    sinifekle = Entry(textvar=sinif_variable)

    sinifekle.grid(row=3, column=2)

    a = sinif_variable

    sinifeklebuton = Button(command=a)

    print(a.get())

    sinifeklebuton.grid(row=4, column=2)

aaa = sinifEkleEntry()

def sinifYonetimi():   
        aaa()

Arkadaşın attığı linkteki gibi yaptım fakat butona basınca Entry e girilen veriyi printlemiyor.

hacı tkinter i import falan ettin demi ?

Tabii ki tüm gerekenleri ettim.

from tkinter import *

p = Tk()

a = Entry(p)
a.pack()

def c():
    print(a.get())
    
b = Button(p, text="tıkla", command=c)
b.pack()
    

p.mainloop()

istediğin böle bişey değil mi ?

Oldu teşekkür ederim.

Burada a’nın değerinin "" olması lazım. Button’a command olarak a’ yı veriyor olmanız, hatta bunu hiçbir hata ile karşılaşmadan yapabiliyor olmanız bir bug:

command’a butona basılınca çalışacak bir fonksiyon vermeniz lazım.


ornek halihazırda bir değişken.

Burada da en baştaki hatayı yapıyorsunuz. a bir fonksiyon değil.

1 Beğeni