2017-10-27 39 views
0

4つの入力ボックスを読み込んで行列の4要素(numpy)として保存し、ボタンをクリックすると関数(変換)が実行され、行列がzに格納されます関数(変換)でグローバルとして)。属性textvariableを持つ4つのラベルは、ラベルごとに異なるzの要素を割り当てられています。 実行時には、ラベルは計算されたzでなければなりませんが、ラベルはちょうどゼロです。プログラムを閉じた後にコマンドラインにzと入力すると、正しいzが表示されます。Tkinterラベルtextvariableが変更されない

申し訳ありませんが、これは初心者の話ですが、私は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 

答えて

0

普通の変数をtextvariableとして使用することはできません。特別なtkinter変数の1つのインスタンスでなければなりません(例:StringVar)。ラベルを更新するには、その変数のsetメソッドを呼び出すことができます。

関連する問題