Как я могу использовать Radiobutton для ввода заданного целого числа в переменную? - PullRequest
0 голосов
/ 16 октября 2011

Я использовал строку кода ниже для ввода переменной для «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()

Моя проблема в том, что я не знаю, как использовать Radiobutton для ввода заданного целого числа в переменную.

1 Ответ

0 голосов
/ 16 октября 2011

Используйте словарь для сопоставления целочисленных значений со строками, которые они представляют:

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

Когда вам нужно получить значения, очевидно, это просто простой поиск по словарю с использованием значения переменной в качестве ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...