如何使用单选按钮将整数输入变量?
我在一个多选命令行软件中使用了下面这行代码来输入一个变量“BAI_var1”。
BAI_var1 = input ("Please enter 0 for not at all, 1 for somewhat, 2 for moderatly or 3 for a lot:")
这是我的图形用户界面:
from Tkinter import *
import time
class App:
def __init__(self, master):
w = Label(master, text="1. Anxiety, nervousness, worry or fear")
w.pack()
v = IntVar()
Radiobutton(master, text="0 for not at all", variable=v, value=1).pack(side=TOP, anchor="w")
Radiobutton(master, text="1 for somewhat", variable=v, value=2).pack(side=TOP, anchor="w")
Radiobutton(master, text="2 for moderatly", variable=v, value=3).pack(side=TOP, anchor="w")
Radiobutton(master, text="3 for a lot", variable=v, value=4).pack(side=TOP, anchor="w")
self.button = Button(master, text="BACK", fg="red", command=self.button6)
self.button.pack(side=BOTTOM)
self.button = Button(master, text="NEXT", fg="red", command=self.button5)
self.button.pack(side=BOTTOM)
def button6(self):
print "Sam is awesome!GAJONGA"
def button5(self):
print "PYTHON FOR THE WIN! GIAN SAYS PYTHON = FILTHY"
master = Tk()
app = App(master)
master.mainloop()
我的问题是,我不知道怎么用一个 单选按钮 来给一个变量输入一个固定的整数。
1 个回答
0
使用字典来把整数值和它们代表的字符串对应起来:
choices = {
1: "not at all",
2: "somewhat",
3: "moderately",
4: "a lot"
}
然后你可以用这个来创建用户界面:
for (i in sorted(choices.keys())):
label = "%s - %s" % (i, choices[i])
rb=Radiobutton(master, text=label, variable=v, value=i)
rb.pack(side=TOP, anchor="w")
当你需要获取这些值时,实际上只需要用变量的值作为键,简单地查一下字典就可以了。