2017-11-27 8 views
0

私は人々が名前を入力できるようにプログラムを作っています。バックスペースを押すと、エントリウィジェットが削除されるようにするにはどうすればいいですか?バックスペースを押すときにエントリウィジェットを削除するには

from tkinter import* 
import time 
import sys 
master = Tk() 
master.title('Tournament Software') 
master.geometry("800x800") 
master.configure(background="black") 
entryList = list() 
def end(): 
    master.destroy() 
def click1(): 
    master.destroy() 
    master1 = Tk() 
    master1.title("Tournament Software") 
    master1.geometry("800x800") 
    master1.configure(background="black") 
    la=Label(master1, text="Enter Contestant Names:",font="none 50 bold", fg="white", bg="black").pack() 
    lab=Label(master1, text="Press Enter For More Contestants",font="none 10 bold", fg="white",bg="black").pack() 
    def enter_event1(event): 
     entryList.append(Entry(master1,bd=5,width=50)) 
     entryList[-1].pack() 
     print(entryList) 
    def back_event(event): 
     #don't know what to put here. 
    e=Entry(master1, bd=5,width=50).pack() 
    master1.bind("<Return>", enter_event1) 
    master1.bind("<BackSpace>", back_event) 
l=Label(master, text="Tournament Software", font="none 50 bold", bg="black", fg="white").pack() 
b=Button(master, text="Start",font="none 50 bold",command = click1).pack(side=LEFT) 
b1=Button(master, text="Quit",font="none 55 bold",command = end).pack(side=RIGHT) 
mainloop() 
+0

あなたがバックスペースを破壊するために押されたエントリーをしたいですか?また、プレイヤーはスペルを修正するためにバックスペースを押すこともあるので、空の場合にのみエントリを削除したいと思うかもしれません。私は正しい? –

+0

はい、キーシフトなどをすることができます –

答えて

2

event.widgetイベントが発生したウィジェットが、ここでは、キーが押されたエントリです。だから、バックスペースを押したときに、それが空の場合にのみ使用することができますエントリを破壊する

def back_event(event): 
    if not event.widget.get(): 
     # the entry is empty 
     event.widget.destroy() 
関連する問題