|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问textvariable和text有什么区别,
例如:
master = Tk()
def test():
if e1.get() == "小甲鱼":
print("正确!")
return True
else:
print("错误!")
e1.delete(0, END)
return False
v = StringVar()
e1 = Entry(master, textvariable=v, validate="focusout", validatecommand=test)
e2 = Entry(master)
e1.pack(padx=10, pady=10)
e2.pack(padx=10, pady=10)
mainloop()
和
master = Tk()
def test():
if e1.get() == "小甲鱼":
print("正确!")
return True
else:
print("错误!")
e1.delete(0, END)
return False
e1 = Entry(master, validate="focusout", validatecommand=test)
e2 = Entry(master)
e1.pack(padx=10, pady=10)
e2.pack(padx=10, pady=10)
mainloop()
这两段代码执行的结果好像是一样的
谢谢
本帖最后由 Twilight6 于 2020-7-24 09:35 编辑
textvariable 是个可以改变文本信息的
而 text 是不可变的
试着运行这两个代码你就知道效果了:
当参数为 textvariable 时:
from tkinter import *
master = Tk()
def set_text():
v.set('I Love Python!!!')
v = StringVar()
v.set('I Love Fishc!!!')
l = Label(master,textvariable=v)
l.pack()
Button(master,text='改变文本按钮',command = set_text).pack()
mainloop()
当参数设置为 text 时候:master = Tk()
def set_text():
v.set('I Love Python!!!')
v = StringVar()
v.set('I Love Fishc!!!')
l = Label(master,text=v.get())
l.pack()
Button(master,text='改变文本按钮',command = set_text).pack()
mainloop()
text 无法通过改变 v 的值,来改变 Label 显示文本内容
而 textvariable 可以
|
|