tkinter中可变的变量
由于python中的字符串、整数、浮点数以及布尔值都是不可变的,所以tkinter自带了一些类型,可以就地更新,并可以在其值发生改变时通知相关的插件。下面所述即为Python中的不可变类型与tkinter中可变类型。
不可变类型与可变类型
int IntVar
string StringVar
bool BooleanVar
double DoubleVar
且可变类型的值是通过set和get方法来设置和获得的。
from tkinter import *
def main():
# 这个函数要写在前面
# 如果要是写在所有代码的后面,找不到的
def _change_content():
var.set('甘薯')
root = Tk()
# 两个框架
frame1 = Frame(root)
frame2 = Frame(root)
# Label显示的文字要是会变化的话,只接受这种类型的变量
var = StringVar()
var.set("紫菜")
text_label = Label(frame1,
textvariable=var,
justify=LEFT
)
text_label.pack()
the_button = Button(frame2,
text='下一句',
command=_change_content # 点击时调用的函数
)
the_button.pack()
# 可以把这两个调换一下位置,2先1后。
frame1.pack(padx=20, pady=20)
frame2.pack(padx=40, pady=40)
mainloop()
if __name__ == '__main__':
main()
result