0

ユーザーが int 値をEntryウィジェットに入力すると、プログラムがこれらの値を一緒に追加する Python GUI を作成しています。

ただし、何らかの理由で、プログラムにこれらの値を追加するように指示しようとすると、エラーが発生します。

TypeError: unsupported operand type(s) for +: 'Entry' and 'Entry'"

私は周りを見回しましたが、このトピックに関するものは何も見つかりません。Entryウィジェットをintとして宣言しようとしましたIntVarsが、うまくいかなかったので、実際に値を加算できるかどうか疑問に思っていEntryます。

4

1 に答える 1

2

最初にgetから文字列を取得し、Entryそれを整数に変換する必要があります。

from Tkinter import *
root = Tk()

e1 = Entry(root)
e2 = Entry(root)
l = Label(root)
def callback():
    total = sum(int(e.get()) for e in (e1, e2))
    l.config(text="answer = %s" % total)
b = Button(root, text="add them", command=callback)
for widget in (e1, e2, l, b):
    widget.pack()
b.mainloop()
于 2012-05-29T20:52:44.077 に答える