Tkinter 标签文本变量不变
Tkinter label textvariable not changing
我读取了 4 个输入框并将它们存储为一个矩阵 (numpy) 的 4 个元素,然后当单击一个按钮时,一个函数 (convert) 运行并且一个矩阵存储在 z 中(z 被声明为全局的函数(转换))。具有属性 textvariable 的 4 个标签为每个标签分配了不同的 z 元素。
当它运行时,标签应该是计算出的 z 但它们只是零。当我关闭程序后在命令行中键入 z 时,它会打印出正确的 z。
抱歉,如果这听起来是新手,我来自 C 语言背景,最近开始使用 python。
def convert():
y[0,0] = float(inA.get()) #previously declared as numpy matrix
y[0,1] = float(inB.get())
y[1,0] = float(inC.get())
y[1,1] = float(inD.get())
inType = intype.get()
outType = outtype.get()
global z
z = convertParam(outType,convertParam(inType,y,0),1)
outparam11 = tkinter.Label(top,width=5,textvariable = z[0,0]) #label
您不能将普通变量用作 textvariable
。它必须是特殊 tkinter 变量之一的实例(例如:StringVar
)。要使标签更新,您可以调用该变量的 set
方法。
我读取了 4 个输入框并将它们存储为一个矩阵 (numpy) 的 4 个元素,然后当单击一个按钮时,一个函数 (convert) 运行并且一个矩阵存储在 z 中(z 被声明为全局的函数(转换))。具有属性 textvariable 的 4 个标签为每个标签分配了不同的 z 元素。 当它运行时,标签应该是计算出的 z 但它们只是零。当我关闭程序后在命令行中键入 z 时,它会打印出正确的 z。
抱歉,如果这听起来是新手,我来自 C 语言背景,最近开始使用 python。
def convert():
y[0,0] = float(inA.get()) #previously declared as numpy matrix
y[0,1] = float(inB.get())
y[1,0] = float(inC.get())
y[1,1] = float(inD.get())
inType = intype.get()
outType = outtype.get()
global z
z = convertParam(outType,convertParam(inType,y,0),1)
outparam11 = tkinter.Label(top,width=5,textvariable = z[0,0]) #label
您不能将普通变量用作 textvariable
。它必须是特殊 tkinter 变量之一的实例(例如:StringVar
)。要使标签更新,您可以调用该变量的 set
方法。