2017-05-21 6 views
1

私はtkinter(python3.5)を使用して、常に一方のチェックボックスの値を他方のチェックボックスの値に設定しようとしています。チェックボタンの1つをユーザがクリックすると、他のボタンは常に反対の値に変更されます。tkinter - 他のチェックボタンを反対に設定するにはどうすればいいですか?

私は間違っていますか?私はそれを働かせることができません。

from tkinter import * 


def opposite(buttonA): 
    print("running Opposite") 
    if buttonA.get() == 0: 
     buttonB.set(1) 
    elif buttonA.get() == 1: 
     buttonB.set(0) 


root = Tk() 

buttonA=IntVar() 
buttonA.set(1) 
buttonAchk = Checkbutton(root, variable=buttonA) 
buttonAchk.pack() 

buttonAlabel = Label(root, width=30, text="Button A") 
buttonAlabel.pack() 

buttonB=IntVar() 
buttonB.set(0) 
buttonBCheck = Checkbutton(root, variable=opposite(buttonA)) 
buttonBCheck.pack() 

buttonBlabel = Label(root, width=30, text="Button B") 
buttonBlabel.pack() 

root.mainloop() 
+3

おそらく[ラジオボタン](http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/radiobutton.html) – msw

答えて

4

代わりに、代わりにRadiobuttonを使用しますか?

from tkinter import * 


root = Tk() 

buttonA=IntVar() 

R1 = Radiobutton(root, text="Button A", width = 30, variable=buttonA, value=1) 
R1.pack() 

R2 = Radiobutton(root, text="Button B", width = 30, variable=buttonA, value=0) 
R2.pack() 


root.mainloop() 
関連する問題