tkinter中可变的变量

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

原文地址:https://www.cnblogs.com/yunlong-study/p/14656736.html