Python tkinter:在帧中连续更新标签

时间:2016-07-18 13:33:20

标签: 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 个答案:

答案 0 :(得分: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()