2011-10-15 44 views
0

我已經使用下面的代碼行在多選命令行軟件中輸入「BAI_var1」的變量。如何使用Radiobutton將集合整數輸入到變量?

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

我的問題是,我不知道如何使用單選框輸入一組整數變量。

+0

但答案都是整數,你似乎得到整數很好,至少如果你發佈的代碼運行。你能舉一個例子,你真的需要得到一個字符串嗎? – kindall

回答

0

使用字典的整數值映射到它們所代表的字符串:

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

當你需要獲取的值,顯然這只是使用變量值作爲鍵的簡單字典查找。

+0

非常感謝Bryan!我仍然在掙扎,因爲我不知道如何使用剛剛分享給我的代碼:-(你能告訴我更多和/或指向我的文檔方向嗎?我會嘗試谷歌「詞典地圖」。 – gian848396

+0

我瘋狂地猜測並粘貼了你在我的代碼中與我分享的代碼,不出所料...... – gian848396

+0

我搜索了Python Dictionarys,並在youtube上發現了一個很棒的視頻:-)我現在明白瞭如何使用Dictionarys: -D – gian848396

相關問題