为什么可以';我不能在tkinter(Python)中更改标签文本吗?

为什么可以';我不能在tkinter(Python)中更改标签文本吗?,python,tkinter,label,Python,Tkinter,Label,我试图在myintro启动时为现有标签设置文本 我得到了这个错误: infoLabel.config(text='这是简介!')文件 “C:\Python39\lib\tkinter\u init\uuz.py”,配置中的第1646行 返回self.configure('configure',cnf,kw)文件“C:\Python39\lib\tkinter_init.py”,第1636行,在_configure中 self.tk.call(_flatten((self._w,cmd))+sel

我试图在myintro启动时为现有标签设置文本

我得到了这个错误:

infoLabel.config(text='这是简介!')文件 “C:\Python39\lib\tkinter\u init\uuz.py”,配置中的第1646行 返回self.configure('configure',cnf,kw)文件“C:\Python39\lib\tkinter_init.py”,第1636行,在_configure中 self.tk.call(_flatten((self._w,cmd))+self._选项(cnf)) _tkinter.TclError:无效的命令名“!label”


使用tkinter的mainloop时的问题是,它将充当“while”循环,直到GUI关闭。如果将这两条线反转:

myintro()
root.mainloop()
窗口标签将显示“这是简介”

这就是为什么我建议在使用tkinter时使用“更新”功能的原因:

从tkinter导入*
#窗口属性
root=Tk()
根标题(“CIT 144最终版,XXXX XXXX”)
root.geometry('400x275')
运行=真
#================功能==================
def myintro():
infoLabel.config(text='这是简介!')
root.update()
root.update_idletasks()
def main():
返回
def按钮单击()
返回
#================窗口小部件定义=================
infoLabel=Label(根,文本='x')
inputBox=条目(根,宽度=18)
buttonOne=Button(根,文本='>>',宽度=5,命令=myintro)
infoLabel.grid(列=0,行=0)
网格(列=0,行=2)
buttonOne.grid(列=0,行=3)
运行时:
尝试:
root.update()
root.update_idletasks()
除:
打破

为什么在
root.mainloop()之后调用
myintro()
root.mainloop()
在tkinter窗口被销毁时结束,因此标签不再存在
python def myintro():my_variable=infoLabel.config(text='这是简介!')my_variable\u text=my_variable.get()
现在您可以在mainloop之后调用变量。@kirgismustafa17现在您正在尝试调用
.get()
。请注意,
infoLabel.config(…)
不会返回任何有用的内容。
from tkinter import *

#Window properties
root = Tk()
root.title('CIT 144 Final, XXXX XXXX')
root.geometry('400x275')



#===============Functions==================
 
def myintro():
    infoLabel.config(text = 'This is the intro!')
      
def main():
    return

def buttonOneClick():
    return

    

#==============Window widgets definitions=================
infoLabel = Label(root, text = 'x')
inputBox = Entry(root, width = 18)
buttonOne = Button(root, text = '>>', width=5, command=buttonOneClick)


infoLabel.grid(column=0,row=0)
inputBox.grid(column=0,row=2)
buttonOne.grid(column=0,row=3)


root.mainloop()
myintro()