Python Forum

Full Version: Checkboxes in different frames misbehave
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
import tkinter as tk

root = tk.Tk() 
Frame1 = tk.Frame(root)
Frame2 = tk.Frame(root)

Frame1.pack()
Frame2.pack()

tk.Checkbutton(Frame1, text="checkbutton #1").pack()
tk.Checkbutton(Frame2, text="checkbutton #2").pack()

root.mainloop()
Why does it check both checkbuttons if I click only one and how can I make them independent without putting both in the same frame?
Checkbuttons have an associated IntVar which controls them. A simple search will turn up lots of beginner examples.
good writeup here: http://infohost.nmt.edu/tcc/help/pubs/tk...utton.html
this manual is also available for everything tkinter as a PDF and html format here:
pdf
web
(Sep-25-2018, 03:32 PM)octoeder Wrote: [ -> ]
import tkinter as tk

root = tk.Tk() 
Frame1 = tk.Frame(root)
Frame2 = tk.Frame(root)

Frame1.pack()
Frame2.pack()

tk.Checkbutton(Frame1, text="checkbutton #1").pack()
tk.Checkbutton(Frame2, text="checkbutton #2").pack()

root.mainloop()
Why does it check both checkbuttons if I click only one and how can I make them independent without putting both in the same frame?

There are two independent frames and checkbuttons. You can see it simply by modifying:
Frame1 = tk.Frame(root, bg='red', padx=10)

And in my test, I didn't see both checkbuttons can be checked by a single click.