Tkinter de enter tuşu ile giriş

Merhaba. aşağıdaki kodlarda hem buton, hem de enter tuşu ile text girişi yapmak istiyorum. Buton çalışıyor fakat enter tuşu ile giriş yapamıyorum.

from tkinter import *

def show_entry_field():
    a="Konuş: %s" % e.get()
    print(a)

root= Tk()
Label(root, text="Konuş:").grid(row=0)
def onclick(event):
    print (event.keysym)
root.bind_all('<KP_Enter>', onclick)


e = Entry(root)
e.grid(row=0, column=1)

Button(root, text='Çıkış', command=root.quit).grid(row=3, column=1, sticky=W, pady=4)
Button(root, text='Göster', command=show_entry_field).grid(row=3, column=0, sticky=W, pady=4)

mainloop( )

İnternette çeşitli yollar öneriliyor, fakat hiçbirini çalıştıramadım. Acaba Python’un versiyon değişikliğnden filan mı, yoksa benim acemiliğim/beceriksizliğimden mi? Yardım lütfen.

Merhaba, şu kısmı -> root.bind_all('<KP_Enter>', onclick) şu şekilde -> root.bind_all('<Return>', onclick) değiştirirseniz enter tuşuna bastığınızda event.keysm yani Return yazısı ekrana yazdırılır.

1 Beğeni

Butonla invoke kullanabilirsiniz

Önerdiğiniz değişikliği yaptım. Girdiğim metin yerine her defasında Return yazıyor sadece.

“Butonla invoke” kullanmak?? Ben aslında butonu tamamen iptal edip yalnızca Enter tuşunu kullanmayı düşünüyorum artık. Belki de işleri karıştıran buton mu?

Aslında kodunuza göre olması gereken de bu zaten. Yani siz Enter’a bastığınızda onclick fonksiyonuna gidiyor, orda da basılı olan tuş yazdırılıyor ekrana, print(event.keysym) ile. Burada yapmak istediğiniz işlemi yapabilirsiniz. Mesela

def onclick(event):
    show_entry_field() # butona tıklandığı zaman gidilen fonksiyona git
1 Beğeni

Size zaten Return yazısı ekrana yazdırılacak dedim. Yazdığınız kodlar onu gösteriyor.

2 Beğeni

Çok teşekkür ederim, sorunum çözüldü.

1 Beğeni