Tkinter label textvariable não mudando

Eu leio 4 checkboxs de input e as armazeno como 4 elementos de uma matriz (numpy), então quando um botão é clicado, uma function (convert) é executada e uma matriz é armazenada em z (z é declarado como global na function (convert) ). 4 labels com atributo textvariable atribuído um elemet diferente de z para cada label. Quando ele é executado, os labels devem ser o z calculado, mas são apenas zeros. Quando eu digito z na linha de comando depois de fechar o programa, ele imprime o z correto.

Desculpe se isso soa novato, eu venho de um fundo C e comecei a usar python recentemente.

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 

Você não pode usar uma variável normal como uma variável de textvariable . Deve ser uma instância de uma das variables ​​especiais do tkinter (por exemplo: StringVar ). Para fazer com que o label seja atualizado, você poderia chamar o método set dessa variável.

Intereting Posts