【问题标题】:How do I use a Radiobutton to input a set integer to a variable?如何使用单选按钮将一组整数输入到变量中?
【发布时间】:2011-10-15 23:48:05
【问题描述】:

我已经使用下面的代码行在多选命令行软件中为“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()

我的问题是我不知道如何使用单选按钮将一组整数输入到变量中。

【问题讨论】:

  • 但是答案都是整数,而且你似乎得到了整数,至少如果你发布的代码运行的话。你能举一个你实际需要获取字符串的例子吗?

标签: python string input radio-button tkinter


【解决方案1】:

使用字典将整数值映射到它们所代表的字符串:

choices = {
    1: "not at all",
    2: "somewhat",
    3: "moderately",
    4: "a lot"
}

然后您可以使用它来创建 UI:

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

当您需要获取值时,显然这只是使用变量的值作为键的简单字典查找。

【讨论】:

  • 非常感谢布莱恩!我仍在苦苦挣扎,因为我不知道如何使用您刚刚与我共享的代码 :-( 请您告诉我更多信息和/或指出一些文档的方向吗?我会尝试用谷歌搜索“字典地图”。
  • 我胡乱猜测,并将您与我共享的代码粘贴到我的代码中。不出所料,它不起作用......
  • 我搜索了 Python 字典并在 youtube 上找到了一个很棒的视频 :-) 我现在知道如何使用字典了 :-D
猜你喜欢
  • 2015-03-14
  • 2015-07-09
  • 2012-05-01
  • 2016-04-04
  • 1970-01-01
  • 2023-02-04
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
相关资源
最近更新 更多