2013-07-09 96 views
1

我的目标是为我正在编程的游戏赚钱。例如,如果我购买了某件东西(在游戏中),我希望我的钱标签在发生这种情况时用新值更新。除了创建一个每秒检查一次以查看我的变量是否已更改的循环外,我该如何去解决这个问题?非常感谢!当Tkinter的变量发生变化时更新标签

回答

0

平与时如购买或卖东西的动作发生

1

功能我猜你点钞机有这样的事情:

def buy_something(amount, thing): 
    money -= amount 
    ... 

def timer(): 
    ... 
    if money != previous_money: 
     label.config(text=str(money)) 
    ... 
    root.after(1000, timer)  

相反,尝试这样的事:

def update_balance(amount): 
    money += amount 
    label.config(text=str(money)) 

def buy_something(amount, thing): 
    update_balance(-amount) # Change the label when the event occurs! 
    ... 
+0

哇谢谢你,这太棒了! – codeforfood

0

Tkinter有一种链接窗口小部件和数据的方法。您可以创建StringVar的实例,并将其分配给标签的textvariable属性。每当您更改变量的值时,标签都会自动更新。

相关问题