Python 如何使用Tkinter从其他函数重新指定标签文本
(首次使用Stackoverflow) 如何将按钮函数中的标签文本重新分配给Ctrack函数中的变量?您可以赋予Ctrack()函数在根窗口上张贴标签的功能。Python 如何使用Tkinter从其他函数重新指定标签文本,python,tkinter,Python,Tkinter,(首次使用Stackoverflow) 如何将按钮函数中的标签文本重新分配给Ctrack函数中的变量?您可以赋予Ctrack()函数在根窗口上张贴标签的功能。 如果使用这种方法,可以在Ctrack()中添加'root'作为参数,然后在Ctrack()函数中声明并打包标签。您必须在按钮()内将其声明为全局变量(全局winlabel),然后在Ctrack()内调用它,就像winlabel[/text']='What ever Your want'您的代码将引发异常:name错误:未在winlabel
如果使用这种方法,可以在Ctrack()中添加'root'作为参数,然后在Ctrack()函数中声明并打包标签。您必须在
按钮()
内将其声明为全局变量(全局winlabel
),然后在Ctrack()内调用它,就像winlabel[/text']='What ever Your want'
您的代码将引发异常:name错误:未在winlabel=Label(root,text=labeltext)
行定义名称'labeltext'。
from tkinter import *
# reassigns variables for label and button texts
def Ctrack(vname, vvalue):
#global vname
vname = vvalue
#place holder to check which button has been clicked
print(vname)
#labeltext = reassign label text bas
# creates labels and buttons
def buttons():
root = Tk()
#first label
winlabel = Label(root, text =labeltext )
winlabel.grid(row = 0, column = 1, padx = 10, pady = 10)
#first button
but1 = Button(root, text = "button 1", command = lambda *args: Ctrack(0, 1))
but1.grid(row = 0, column = 2, padx = 10, pady = 10)
#second button
but2 = Button(root, text = "button 2", command = lambda *args: Ctrack(0, 2))
but2.grid(row = 0, column = 3, padx = 10, pady = 10)
root.mainloop()
buttons()