2017-04-20 12 views
0

私はこのコードを書いている:2セットのラジオボタンで乗算する関数を書くには?

from tkinter import * 
o=Tk() 
v1=IntVar() 
v2=IntVar() 

p1=Radiobutton(o, text='1', variable=v1, value=1) 
p1.grid(row=0, column=1) 
d1=Radiobutton(o, text='1', variable=v2, value=1) 
d1.grid(row=1, column=0) 

p2=Radiobutton(o, text='2', variable=v1, value=2) 
p2.grid(row=0, column=2) 
d2=Radiobutton(o, text='2', variable=v2, value=2) 
d2.grid(row=2, column=0) 

p3=Radiobutton(o, text='3', variable=v1, value=3) 
p3.grid(row=0, column=3) 
d3=Radiobutton(o, text='3', variable=v2, value=3) 
d3.grid(row=3, column=0) 

p4=Radiobutton(o, text='4', variable=v1, value=4) 
p4.grid(row=0, column=4) 
d4=Radiobutton(o, text='4', variable=v2, value=4) 
d4.grid(row=4, column=0) 

p5=Radiobutton(o, text='5', variable=v1, value=5) 
p5.grid(row=0, column=5) 
d5=Radiobutton(o, text='5', variable=v2, value=5) 
d5.grid(row=5, column=0) 

w=Label(o, text='0') 
w.place(x=90, y=60) 
w.config(font=("Arial", 30), foreground="magenta") 
o.mainloop() 

私の目標は、乗算器としてラジオボタンのこれらの2セットを使用することで、その結果は、ラベルをwithing示すことになります。私の主な問題は、ピックされた2つのラジオボタンに付加された値をどのように抽出し、ラベル内に結果を返す関数内でそれらを掛けるのか分かりません。

答えて

0

次はどうですか?

from tkinter import * 

def updateLabel(): 
    w.config(text = str(v1.get()*v2.get())) 

o=Tk() 
v1=IntVar() 
v2=IntVar() 

for i in range(1,6): 
    Radiobutton(o, text = str(i), variable = v1, value = i, command = updateLabel).grid(row=0,column=i) 
    Radiobutton(o, text = str(i), variable = v2, value = i, command = updateLabel).grid(row=i,column=0) 

w=Label(o, text='0') 
w.place(x=90, y=60) 
w.config(font=("Arial", 30), foreground="magenta") 
o.mainloop() 

ここで重要なのは、ラジオボタンの選択が変更されたときに呼び出す関数に等しいcommandオプションを設定することです。ラジオボタンを作成した後は、ラジオボタンで何もしないので、ラジオボタンの参照を保持する必要はありません。それらとのやりとりは、v1v2変数によってのみ行われます。

+0

ありがとうございました! –

関連する問題