2017-07-17 11 views
-2

私は、2つの数値を足し合わせたtkinter計算機で作業してきました。私はこれをより高度にすることを計画しています。セット番号を追加すると、その番号を入力するとその番号をその変数に掛けます。しかし、広範な研究の後でさえ私は私の特定の問題のためのいくつかの助けを見つけることができません。ここに私のコードです:Tkinterで変数を追加する

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() 

ありがとうございます。

+0

コードは正常です。あなたはそれがしたいことをより良く説明できますか?たぶん例がありますか? – Novel

+0

問題点は何ですか? –

答えて

0

変数は簡単に定義できます。ウィジェットに名前を割り当てるのと同じように、文字列、リスト、辞書、タプル、配列、整数などに名前を割り当てます。

例えば、変数の値を使っていくつかの定義済みの倍数を作成したい場合は、my_new_var = 2のようなものを実行してから、my_new_varを、その変数の値に任意のintを掛け合わせる関数に接続します。

ここにいくつかのコードを例として示します。最初に2つの数字を一緒に追加してから、2で掛けるボタンを使用してください。

from Tkinter import * 
from functools import total_ordering 
root = Tk() 

total = 0 
my_new_var = 2 

e1 = Entry(root) 
e1.pack() 
e2 = Entry(root) 
e2.pack() 
l = Label(root) 
l.pack() 

def callback(): 
    global total 
    total = sum(int(e.get()) for e in (e1, e2)) 
    l.config(text="answer = %s" % total) 

def mulitply_by_two(): 
    global total 
    total = total * my_new_var 
    l.config(text="answer = %s" % total) 

b = Button(root, text="add them", command=callback) 
b.pack() 
by_multiple = Button(root, text = "Multiply by {}".format(my_new_var), command = mulitply_by_two) 
by_multiple.pack() 

b.mainloop() 
関連する問題