-6
フィールドerg
をStringVar
で自動更新しようとしていますが、関数で設定しました。私はbind
を使ってそうしようとしましたが、うまくいきませんでしたか?私はJava開発者です。Pythonの学習に1時間ほどかかりましたが、小さなプログラムを作ったのですが、tkinterのバインディングは動作しません。
import math
from tkinter import *
class LeerException(Exception):
__message="falscher buchstabe"
def multiply(event):
wa = int(a.get())
if wa=="":
raise LeerException()
wb = int(b.get())
try:
for x in range(0,wb+1):
wa = wa*wa
ergebnis.set(wa)
print(wa)
except LeerException:
print("ERROR");
root = Tk()
ergebnis = StringVar()
werta= Label(root,text="WertA")
werta.pack()
a = Entry(root)
a.pack()
wertb= Label(root,text="Anzahl")
wertb.pack()
b = Entry(root)
b.pack()
erg= Entry(root)
erg.focus_set()
erg.bind(ergebnis)
erg.pack()
button = Button(root)
button.bind("<Button-1>",multiply)
button.pack()
root.mainloop()
あなたはPythonを学ぶつもりはなく、時間の中で 'tkinter'を使う方法はずっと少なく、より現実的な期待を得ることができます。 StringVarと自動更新が行われるまでは、[** _変数クラス(BooleanVar、DoubleVar、IntVar、StringVar)_ **](http://effbot.org/tkinterbook/variable.htm)を参照してください。それらに関する情報、およびそれらの仕組みについて説明します。 – martineau