1つのチェックボタンをクリックすると、
全てのボタンにチェックが付いてしまう状態です。
色々調べてみたのですが、検討が付きません。
何が問題でしょうか。
解る方、ご教授いただけないでしょうか。
よろしくお願いいたします。
python
1コード 2
from tkinter import *
from tkinter import ttk
root = Tk()
root.title('人口')
root.geometry("500x500+640+40")
frame1 = ttk.Labelframe(root, text='地域選択', padding=5)
frame1.grid(row=0, column=0, columnspan=1, padx=15, pady=10, sticky='w')
frame2 = ttk.Labelframe(root, text='関東',padding=5)
frame2.grid(row=1,column=0, columnspan=1, padx=15, pady=10, sticky='nw')
frame3 = ttk.Labelframe(root, text='関西',padding=5)
frame3.grid(row=1,column=1, columnspan=1, padx=10, pady=10, sticky='nw')
selected_frame = IntVar()
def change_selected_frame():
if selected_frame.get() == 0:
for child in frame2.winfo_children(): child.configure(state='enable') for child in frame3.winfo_children(): child.configure(state='disable') elif selected_frame.get() == 1: for child in frame2.winfo_children(): child.configure(state='disable') for child in frame3.winfo_children(): child.configure(state='enable') else: for child in frame2.winfo_children(): child.configure(state='disable') for child in frame3.winfo_children(): child.configure(state='disable')
rb1 = ttk.Radiobutton(frame1, text='関東 ',
variable=selected_frame,
value=0,
command=change_selected_frame)
rb1.grid(row=1,column=0,pady=5)
rb2 = ttk.Radiobutton(frame1,
text='関西',
variable=selected_frame,
value=1,
command=change_selected_frame)
rb2.grid(row=1,column=1,pady=5)
btn1 = ttk.Button(frame2, text='全選択', padding=5)
btn1.grid(row=5,column=0,pady=5)
btn2 = ttk.Button(frame2, text='全解除', padding=5)
btn2.grid(row=5,column=1,pady=5)
btn3 = ttk.Button(frame3, text='全選択', padding=5)
btn3.grid(row=5,column=0,pady=5)
btn4 = ttk.Button(frame3, text='全解除', padding=5)
btn4.grid(row=5,column=1,pady=5)
val = BooleanVar()
val.set(False)
kt1 = ttk.Checkbutton(frame2, text='東京', variable=val)
kt1.grid(row=6,column=0, columnspan=1, padx=15, pady=5, sticky='w')
kt2 = ttk.Checkbutton(frame2, text='神奈川', variable=val)
kt2.grid(row=7,column=0, columnspan=1, padx=15, pady=5, sticky='w')
kt3 = ttk.Checkbutton(frame2, text='千葉', variable=val)
kt3.grid(row=8,column=0, columnspan=1, padx=15, pady=5, sticky='w')
kt4 = ttk.Checkbutton(frame2, text='埼玉', variable=val)
kt4.grid(row=9,column=0, columnspan=1, padx=15, pady=5, sticky='w')
ks1 = ttk.Checkbutton(frame3, text='大阪', variable=val)
ks1.grid(row=6,column=0, columnspan=1, padx=15, pady=5, sticky='w')
ks2 = ttk.Checkbutton(frame3, text='兵庫', variable=val)
ks2.grid(row=7,column=0, columnspan=1, padx=15, pady=5, sticky='w')
ks3 = ttk.Checkbutton(frame3, text='京都', variable=val)
ks3.grid(row=8,column=0, columnspan=1, padx=15, pady=5, sticky='w')
selected_frame.set(-1)
change_selected_frame()
root.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/18 07:52