Skip to content

可变变量

tkinter 中可变的变量

由于 python 中的字符串、整数、浮点数以及布尔值都是不可变的,所以 tkinter 自带了一些类型,可以就地更新,并可以在其值发生改变时通知相关的插件。下面所述即为 Python 中的不可变类型与 tkinter 中可变类型。

不可变类型与可变类型

  • int:IntVar
  • string:StringVar
  • bool:BooleanVar
  • double:DoubleVar

且可变类型的值是通过 set 和 get 方法来设置和获得的。

py
import tkinter as tk

count = 0


def click():
    global count
    count += 1
    # 改变 v 的值,即改变 Checkbutton 的显示值
    v.set(f'被点击了 {count} 次')


root = tk.Tk()
root.geometry('500x300')
v = tk.StringVar()
v.set('点击一下')
# 绑定 v 到 Checkbutton 的属性 textvariable
cb = tk.Checkbutton(root, textvariable=v, command=click)
cb.pack()

root.mainloop()