TypeError:+ =:'Label'和'int'不受支持的操作数类型

时间:2019-08-31 17:32:14

标签: python python-3.x tkinter

仅学习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

2 个答案:

答案 0 :(得分:0)

第一次调用它就可以了。但是,当您第二次调用该函数时,变量“ pl_health”已更改为Label,因此您不能“ pl_health = + 1”。 您只需更改标签名称即可(而不是“ pl_health”)。

答案 1 :(得分:0)

我又看了一眼,发现我的命名方案把我搞砸了。我调用了一个名为player_health的全局变量,还调用了一个类似的变量pl_health。我把两者混为一谈,因为一个原本是计数器,而另一个原本是在创建标签时调用的。