Tkinter Label无法响应Button点击,请求修改Label文本的解决方案
解决Tkinter Label点击按钮不更新的问题
嘿,我帮你定位到问题所在啦!你的代码里有两个小细节出错了,导致点击按钮后Label毫无反应:
Label对象赋值错误:
当你写sign = Label(master, text = "Sup").grid(...)时,grid()方法的返回值是None,所以sign变量实际上指向的是None,而不是你创建的Label组件。这就导致后面调用sign.config()时,根本找不到要修改的Label对象。修正方式:把Label的创建和布局代码分开写,先创建Label对象并赋值给
sign,再调用它的grid()方法:sign = Label(master, text = "Sup") sign.grid(row=1, column=1, pady=10, padx=10)config方法调用错误:
你的tryout函数里,sign.config(master, text = "Hmm")的写法不对,config()方法不需要传入master参数,直接指定要修改的属性即可。修正后的函数:
def tryout(): sign.config(text = "Hm...")
完整修正后的代码
from tkinter import * import os import sys master = Tk() def tryout(): sign.config(text = "Hm...") # 分开创建和布局Label sign = Label(master, text = "Sup") sign.grid(row=1, column=1, pady=10, padx=10) butTest = Button(master, text='test', command=tryout) butTest.grid(row=4, column=1, pady=10, padx=10) mainloop()
现在运行这段代码,点击test按钮,Label的文本就会从'Sup'变成'Hm...'啦!
内容的提问来源于stack exchange,提问作者C Vith
相关产品推荐
相关产品推荐

