То, что я пытаюсь сделать, это построить окно с номером (значение по умолчанию = 1) и 3 кнопки внизу под ним: «UP», «DOWN» и «QUIT». Кнопка «Вверх» будет увеличивать число на 1, а остальные кнопки будут понятны, что они делают.Динамически меняющаяся переменная метки
from Tkinter import *
root=Tk()
number=1
Label(root,text=number,height=10,width=7).grid(row=0,pady=10,padx=10,column=10,columnspan=2,sticky=W+E)
def auksisi(number):
number+=1
return number
def meiosi(number):
number = number -1
return number
Label(root, text=auksisi(number),height=10,width=7).grid(row=0,pady=10,padx=10,column=10,columnspan=2,sticky=W+E)
Button(root, text="up",command=lambda: auksisi(number)).grid(row=3,column=2,columnspan=2)
Button(root, text="down",command=lambda: meiosi(number)).grid(row=3,column=3,columnspan=2)
Button(root, text="quit",command=root.destroy).grid(row=3,column=4,columnspan=2)
root.update()
root.mainloop()
Что происходит, когда я нажать кнопки ничего changes.Don't беспокоиться о макете я исправить это, я просто хочу, кнопки для работы.
'auksisi' и' meiosi' фактически не обновляет 'label', чего вы ожидали случаться? – jonrsharpe
Как я могу обновить ярлык? –
Как бы то ни было, вы не можете, потому что вы не сохраняете ссылку на экземпляр «Label». В качестве альтернативы, я думаю, вы можете использовать 'IntVar' вместо vanilla' int'. – jonrsharpe