我写了这段代码:
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()
我的目标是使用这两组radiobuttons作为乘数,结果将显示带标签。我的主要问题是,我不知道如何提取附加到两个拾取的radiobutton的值,并将它们乘以将返回打印在标签内的结果的函数。
答案 0 :(得分: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
选项设置为当更改单选按钮选择时要调用的函数。请注意,您不需要保留对单选按钮的引用,因为您在制作单选按钮后没有对单选按钮执行任何操作。与它们交互只能通过v1
和v2
变量完成。