仅学习python并尝试在tkinter GUI内编写RPG游戏,控制台已经内置了一些逻辑,但希望移植到UI。通读教程,无论我如何编写此代码,我都会遇到相同的错误:
TypeError: unsupported operand type(s) for +=: 'Label' and 'int'
pl_health = 100
def health_UP():
global pl_health
pl_health += 1
pl_health.config(text=pl_health)
print("adding to counter")
#### PLAYER STATS BAR ####
bttn_color = "black"
# PLAYER STATS TITLES #
pl_health_ttl = tk.Label(game, text="Health:", fg=bttn_color)
# PLAYER STATS COUNTERS #
pl_health = tk.Label(game, text="zero", fg=bttn_color)
# PLAYER STATS BUTTONS #
pl_health_UP = tk.Button(game, text=">>", bg="white", fg=bttn_color, command=health_UP())
我只是想让它递增,并能够对其他按钮执行此操作,但我一直收到此错误消息
TypeError: unsupported operand type(s) for +=: 'Label' and 'int'
Process finished with exit code 1
答案 0 :(得分:0)
第一次调用它就可以了。但是,当您第二次调用该函数时,变量“ pl_health”已更改为Label,因此您不能“ pl_health = + 1”。 您只需更改标签名称即可(而不是“ pl_health”)。
答案 1 :(得分:0)
我又看了一眼,发现我的命名方案把我搞砸了。我调用了一个名为player_health的全局变量,还调用了一个类似的变量pl_health。我把两者混为一谈,因为一个原本是计数器,而另一个原本是在创建标签时调用的。