2016-05-15 15 views
0

いずれかのラジオボタンをクリックしようとすると、ラジオボタンがすべて選択されるという問題があります。これはコンバージョン計算機のためです。この問題を解決すると、他のコンバージョンで同じコードを実行することができます。どんな助けでも大歓迎です。ラジオボタンtkinter python

おかげで、

ジェイミー

`from tkinter import* 
from tkinter import ttk 

class GUI: 
    def __init__(self, root): 
     notebook = ttk.Notebook(root) 
     notebook.pack() 

     self.temp_frame = ttk.Frame(notebook) 
     self.length_frame = ttk.Frame(notebook) 
     self.weight_frame = ttk.Frame(notebook) 

#-----------------Length------------------------# 
     notebook.add(self.length_frame, text = "Length")      

     #Radio Buttons 
     v = StringVar() 
     MODES = ["mm","cm","Inch","Feet","Yards","Metre","Km","Miles"] 

     v.set("0") # initialize 
     r=0 
     for r in range(len(MODES)): 
      b = ttk.Radiobutton(self.length_frame, text=MODES[r], variable=v) 
      b.grid(row=r ,column = 0, sticky = W) 



     #Radio Buttons 
     v1 = StringVar() 
     MODES1 = ["mm","cm","Inch","Feet","Yards","Metre","Km","Miles"] 

     v1.set("0")#initialize 
     r=0 
     for r in range(len(MODES1)): 
      b = ttk.Radiobutton(self.length_frame, text=MODES1[r], variable=v1) 
      b.grid(row=r ,column = 6, sticky = W) 




     #Entry Box 
     self.Text_length_left = StringVar() 
     self.entry_length_left = ttk.Entry(self.length_frame, textvariable = self.Text_length_left, width = 15) 
     self.entry_length_left.grid(row = 4, column = 2) 

     self.Text_length_right = StringVar() 
     self.entry_length_right = ttk.Entry(self.length_frame, textvariable = self.Text_length_right, width = 15, state = "readonly") 
     self.entry_length_right.grid(row = 4, column = 4) 

     #Label 
     self.label_3 = Label(self.length_frame, text = "From:") 
     self.label_3.grid(row = 3, column = 2) 

     self.label_4 = Label(self.length_frame, text = "To:") 
     self.label_4.grid(row = 3, column = 4) 

     self.label_1 = Label(self.length_frame, text = "-->") 
     self.label_1.grid(row = 4, column = 3) 

     self.label_2 = Label(self.length_frame, text = " ") 
     self.label_2.grid(row = 4, column = 5) 

#---------------------Temp Frame ----------------------# 
     notebook.add(self.temp_frame, text = "Temperature") 


if __name__ == "__main__": 
    root = Tk() 
    app = GUI(root) 
    root.mainloop()` 

答えて

3

あなたがvalueキーワードを設定することはありません。これは、クリックするとラジオボタンのグループのコントロール変数に格納されます。