2017-09-11 3 views
-2

set()メソッドを使う方法、またはウィジェットのデータを更新する方法はありますか? AttributeError:私はこのエラーを取得する 'エントリ' オブジェクトは、 'セット' 何の属性を持っていないループからの思想家エントリにデータを入れる方法(Python)

私のコード例:

from tkinter import * 

Entradas = [] 

def convertir(): 
    for entrada in Entradas: 
     print(float(entrada.get())/1024) 
    for entrada in Entradas: 
     entrada.set((float(entrada.get())/1024)) 


app= Tk() 
app.resizable(0,0) 

for i in range(3): 
    etiqueta = Label(app, text = "Numero " + str(i + 1) + " : ") 
    etiqueta.grid(row = i, column = 0, sticky = "w", padx = 5, pady = 5) 

for i in range(3): 
    Numero = Entry(app, font = "Arial 8 bold") 
    Numero.grid(row = i, column = 1 , padx = 5, pady = 5) 
    Numero.config(justify="left", disabledforeground="white") 
    Entradas.append(Numero) 

Button(app, text="Convertir", command=convertir,font = "Arial 10 bold").grid(row=3,column=0,padx=5,pady=5) 

app.mainloop() 

ありがとうございますが、エントリのためinsert()ないset()

を使用したい

+1

これは、Entryウィジェットのトラックバックに記載されている属性 'set()'がないためです。 –

+0

あなたの最初のステップは、Entryウィジェットのドキュメントを読むことです。すべてのメソッドが文書化されています。 –

+0

ありがとう、ループ内でstringvarを使用できるようにすることです – jhparra

答えて

1

テキストとテキスト自体を挿入する場所を指定する必要があります。

ので、代わりの:

entrada.set((float(entrada.get())/1024)) 

この操作を行います。今、あなたは、あなたがこれを行うために必要な入力フィールドがそれにあなたの追加テキストの前にクリアされていることを確認したい場合は

entrada.insert(0, (float(entrada.get())/1024)) 

を:

entrada.delete(0, "end") 
entrada.insert(0, (float(entrada.get())/1024)) 
+0

優れた、いくつかの変更を加えて働いて、あなたの知識と経験を共有していただきありがとうございます。 – jhparra

関連する問題