tkinter中StringVar与IntVar的区别
在网上搜了很长时间没有搜到这个函数的区别,只搜到相关的内容StringVar的作用
我们在使用界面编程的时候,有些时候是需要跟踪变量的值的变化,以保证值的变更随时可以显示在界面上。由于python无法做到这一点,所以使用了tcl的相应的对象,也就是StringVar、BooleanVar、DoubleVar、IntVar所需要起到的作用。
于是写了几行代码试了下
代码1
from tkinter import *
master = Tk()
master.geometry("200x150")
var = StringVar()
c = Checkbutton(master, text="Hello World", variable=var)
c.pack()
mainloop()
代码2
from tkinter import *
master = Tk()
master.geometry("200x150")
var = IntVar()
c = Checkbutton(master, text="Hello World", variable=var)
c.pack()
mainloop()
发现代码1运行后显示如图1(内容直接选中)
发现代码2运行后显示如图2(内容未直接选中)
所以想请教大家下有什么区别,是什么时候该用StringVar,什么时候用IntVar,谢谢。 网上找到这么一句话:intVar是对“bai整数”类型的du包装,stringVar是对“字符串”类型的包装。
整数可zhi以进行计算,比dao如2+3=5;字符串可以包含非数字的字符比如“abc”,但即便只由数字构成,也不能进行计算,比如“2”+“3”是得不到"5"的。
但是,在python中我们可以很方便地进行类型转换,所以从实际操作的角度讲,可能只用stringVar就够了。
而且checkbutton的variable变量,variable 的值为 1 或 0,代表着选中或不选中,和是哪一种类型应该无关吧,var.set(1)和var.set(0)可以控制选中未选中
页:
[1]