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 方法。