标签不更新变量

Label doesn't update the variable

我是Python的新手,但我学到了一些东西,现在我正在尝试制作一个简单的游戏。我希望标签显示能量,但当能量​​变化时它不会更新。我的代码:

def start_def():
    global main
    main.destroy()  

    def run():
        global energy
        energy = energy - 25
        print(energy)

    game = Tk()
    game.title("Anne: O Jogo")
    game.geometry("800x600")
    game.resizable(0,0)

    global energy
    energy = int(100)

    global img
    img = ImageTk.PhotoImage(Image.open("anne.jpg"))
    panel = Label(game, image=img)
    panel.pack(side="left", pady=5, padx=5)
    panel.place(x=15, y=15)

    Label(game, text="Anne", font=("Verdana", 25, "bold")).place(x=220, y=20)
    Label(game, text="Energia: ", font=("Verdana", 15, "bold")).place(x=220, y=70)
    Label(game, text=energy, font=("Verdana", 15, "bold")).place(x=320, y=71)

    b = Button(game, text="Correr", command=run).pack()

`

这是我整个代码的一部分,如果你们需要其余部分,尽管问。感谢您的帮助。

您可以将标签分配给(全局)变量

label_energy = Label(...)

然后你可以改变

energy += 10

label_energy['text'] = str(energy)
#or
label_energy.config(text=str(energy))

但 Tkinter 有特殊变量 IntVarStringVar 等,您可以使用 textvariable=

将其与标签一起使用
 energy = IntVar()
 energy.set( 0 )

 Label(..., textvariable=energy )

如果你改变变量 energy

 energy.set( energy.get() + 10 )

然后标签将自动更改其文本。