2017-04-30 11 views
-3
from Tkinter import * 

root = Tk() 

v = IntVar() 
v.set(1) # initializing the choice, i.e. Python 

languages = [ 
    ("Python",1), 
    ("Perl",2), 
    ("Java",3), 
    ("C++",4), 
    ("C",5) 
] 

def ShowChoice(): 
    print v.get() 

Label(root, 
     text="""Choose your favourite 
programming language:""", 
     justify = LEFT, 
     padx = 20).pack() 

for txt, val in languages: 
    Radiobutton(root, 
       text=txt, 
       padx = 20, 
       variable=v, 
       command=ShowChoice, 
       value=val).pack(anchor=W) 

mainloop() 

誰かがこのループがラジオボタンを作成する方法について説明してください。私はあなたがこれを行うと、それは非常に困難このループがどのように機能するかを説明してください - Python tkinter

+0

おそらく、あなたはバインディングの見かけの不足に言及されています各オブジェクト?オブジェクトが作成されると、参照が暗黙的にルート要素に追加されます。 – chepner

+0

参照してください:[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) – EJoshuaS

答えて

1

に従うことを発見していたよう:

languages = [ 
    ("Python",1), 
    ("Perl",2), 
    ("Java",3), 
    ("C++",4), 
    ("C",5) 
] 
for txt, val in languages: 
    Radiobutton(..., text=txt, value=val, ...) 

は、この全く同じです:

Radiobutton(root, text="Python", value=1, ...) 
Radiobutton(root, text="Perl", value=2, ...) 
Radiobutton(root, text="Java", value=3, ...) 
Radiobutton(root, text="C++", value=4, ...) 
Radiobutton(root, text="C", value=5, ...) 
関連する問題