проблемы с ttk.Notebook

я сделал программу в которой есть много вкладоквведите сюда описание изображения

но когда в одной из них я нажимаю галочку

то в другой вкладке она тоже нажимаеться,

создавал все вот так:

tab_control = ttk.Notebook(root)
tab1 = ttk.Frame(tab_control)  
tab2 = ttk.Frame(tab_control)
tab3 = ttk.Frame(tab_control)
tab4 = ttk.Frame(tab_control)
tab5 = ttk.Frame(tab_control)

tab_control.add(tab1, text='TEST1')
tab_control.add(tab2, text='TEST2')
tab_control.add(tab3, text='TEST3')
tab_control.add(tab4, text='TEST4')
tab_control.add(tab5, text='TEST5')

root.cb = Checkbutton(tab1, text="Enable",command=TEST1COM) 
root.cb.grid(column = 1, row = 1)
root.cb = Checkbutton(tab2, text="Enable",command=TEST2COM) 
root.cb.grid(column = 1, row = 1)
root.cb = Checkbutton(tab3, text="Enable",command=TEST3COM) 
root.cb.grid(column = 1, row = 1)
root.cb = Checkbutton(tab4, text="Enable",command=TEST4COM) 
root.cb.grid(column = 1, row = 1)
root.cb = Checkbutton(tab5, text="Enable",command=TEST5COM) 
root.cb.grid(column = 1, row = 1)

Ответы (1 шт):

Автор решения: insolor

Привяжите к каждому чекбоксу отдельную переменную BooleanVar или IntVar (потом из этой же переменной можно брать состояние нужного чекбокса через cb1_var.get()):

cb1_var = BooleanVar()
cb1 = Checkbutton(tab1, text="Enable", variable=cb1_var) 
cb1.grid(column = 1, row = 1)

cb2_var = BooleanVar()
cb2 = Checkbutton(tab2, text="Enable", variable=cb2_var) 
cb2.grid(column = 1, row = 1)

cb3_var = BooleanVar()
cb3 = Checkbutton(tab3, text="Enable", variable=cb3_var)
cb3.grid(column = 1, row = 1)

cb4_var = BooleanVar()
cb4 = Checkbutton(tab4, text="Enable", variable=cb4_var) 
cb4.grid(column = 1, row = 1)

cb5_var = BooleanVar()
cb5 = Checkbutton(tab5, text="Enable", variable=cb5_var) 
cb5.grid(column = 1, row = 1)

По поводу root.cb = ...: вы по сути добавляете атрибут в чужой объект, так лучше не делать. Может так случиться, то у этого объекта был атрибут с таким именем, и вы сломаете работу объекта. Также лучше не использовать одно и то же имя для разных объектов (если конечно вы собираетесь использовать объекты, которые перезатираете).

→ Ссылка