动态改变标签变量
Dynamically changing Label variable
我想做的是用一个数字(默认值=1)构建一个 window 和
它下方的 3 个按钮分别命名为:"UP"、"DOWN" 和 "QUIT"。 "Up" 按钮会将数字递增 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不用担心布局,我会修复它,我只是想让按钮工作。
grid
方法 returns None
,并在创建对象后直接调用它,将使您的 eventual 引用也是 None
。要更改标签的值,您需要引用它:
label_reference = Label(root, text=auksisi(number), height=10, width=7)
label_reference.grid(row=0, pady=10, padx=10, column=10, columnspan=2, sticky=W+E)
现在,您可以通过 label_reference
更改文本,例如使用 config()
方法。您可以在单击按钮时调用的方法中执行此操作:
def auksisi(number):
number += 1
label_reference.config(text=number)
return number
我想做的是用一个数字(默认值=1)构建一个 window 和 它下方的 3 个按钮分别命名为:"UP"、"DOWN" 和 "QUIT"。 "Up" 按钮会将数字递增 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不用担心布局,我会修复它,我只是想让按钮工作。
grid
方法 returns None
,并在创建对象后直接调用它,将使您的 eventual 引用也是 None
。要更改标签的值,您需要引用它:
label_reference = Label(root, text=auksisi(number), height=10, width=7)
label_reference.grid(row=0, pady=10, padx=10, column=10, columnspan=2, sticky=W+E)
现在,您可以通过 label_reference
更改文本,例如使用 config()
方法。您可以在单击按钮时调用的方法中执行此操作:
def auksisi(number):
number += 1
label_reference.config(text=number)
return number