2016-07-18 27 views
0

私のコードでは、ユーザーが使用するチームの数を選択するために使用するスピンボックスがあり、次に選択したチームの数に合わせて別のフレーム列が作成されます。彼らは、それはまた、列Python tkinter:フレーム内のラベルを継続的に更新する

frame=Frame(root) 
frame.pack(anchor=CENTER) 
Label(frame,text='Team selection').grid(row=0,column=0,columnspan=5) 

NumTeams=StringVar() 
Spinbox(frame,values=(1,2,3,4,5),textvariable=NumTeams).grid(row=2,column=0,columnspan=5) 

frame2=Frame(root) 
frame2.pack() 
for i in range(int(NumTeams.get())): 
    Label(frame2,text=str(i)).grid(row=0,column=i) 
    frame2.update() 

上記のコードの数を変更し、この値を変更するには、スピンボックスを使用する場合、これを達成するための試みで、誰もがこれを行うことができる方法を知っていますか?

答えて

1

スピンボックスが値を変更するたびに実行するメソッドを指定するのに、command引数を使用できます。あなたが意味する列のタイプは完全にはわかりませんが、うまくいけばこれで作業できます。

from Tkinter import * 

def on_spin(): 
    num_teams.set("New text") 

root = Tk() 

frame = Frame(root) 
frame.pack(anchor=CENTER) 

frame2 = Frame(root) 
frame2.pack() 

num_teams = StringVar() 
label = Label(frame2, textvariable=num_teams) 
label.pack() 

spin = Spinbox(frame, from_=1, to=5, command=on_spin) 
spin.pack() 

root.mainloop() 
関連する問題