如何将字符串与Tkinter变量连接?

时间:2015-11-02 17:58:07

标签: python tkinter

我有一个程序可以计算按钮的点击次数并将其显示在标签上。而不仅仅是显示数字,我该如何添加"点击次数:"在显示值之前?最好在标签的小部件参数/选项中定义textvariable=Total

Total = IntVar()

def Clicked():
    Total.set(Total.get() + 1)

total = Label(root, textvariable=Total).pack()
click = Button(root, command=Clicked).pack()

2 个答案:

答案 0 :(得分:1)

tkinter要求你为textvariable使用自己的变量类型,所以我会使用StringVar作为你的textvariable(你可以直接更新某些项的text属性,但是不同的tkinter对象可能有不同的方法来执行此操作,并且它会让人感到困惑)。以下是更新StringVar以显示计数的方法。

{{1}}

答案 1 :(得分:1)

使用单独的变量来跟踪点击次数,以及表示点击次数的字符串。

from Tkinter import *


def Clicked():
    global amount
    amount += 1
    Total.set("Number of clicks: {}".format(amount))

root = Tk()
Total = StringVar()
amount = 0

Label(root, textvariable=Total).pack()
Button(root, command=Clicked).pack()
root.mainloop()

顺便说一句,从不pack小部件并将其分配给同一行上的某些内容 - 您的变量将始终为None。有关详细信息,请参阅Tkinter: AttributeError: NoneType object has no attribute get