Python tkinter checkbutton

Basics of Python Tkinter
Checkbutton in Tkinter
import tkinter as tk
my_w = tk.Tk()
my_w.geometry("500x500")  # Size of the window

c_v1=IntVar()
c1 = tk.Checkbutton(my_w,text='PHP',variable=c_v1,onvalue=1,offvalue=0,width=20,bg='yellow')
c1.grid(row=2,column=2) 

my_w.mainloop()  # Keep the window open
In above code we have linked the variable c_v1 to the checkbutton. This value we will be using for our reading and writting ( setting ) the status of the checkbutton.

onvalue=1 mean the variable c_v1 will get value 1 when checkbutton is clicked. or checked
offvalue=0 mean the variable c_v1 will get value 0 when checkbutton is unchecked

How to read the status ( value of the associated variable ) of the checkbox.
my_val=c1_v1.get() #c1_v1 is the variable connected to checkbutton 
How to set the value of the checkbutton ( to Check or Uncheck )?
c1_v1.set(1)
We will use the above concepts. Note that checkbutton can have values 1 or 0 ( integer variable ), Yes or No ( string variable) , True or False ( Boolean variable ). We will learn all three types here.

Events of checkbutton

Capturing click event of checkbox and display the value of the variable
import tkinter as tk
my_w = tk.Tk() 
my_w.geometry("500x500")  # Size of the window

def my_upd():
    print('Check box value :',c1_v1.get())

c1_v1=tk.IntVar()
c1 = tk.Checkbutton(my_w, text='PHP', variable=c1_v1,onvalue=1,offvalue=0,command=my_upd)
c1.grid(row=2,column=2) 

my_w.mainloop()  # Keep the window open
Capturing click event of checkbox and display the string variable
import tkinter as tk
my_w = tk.Tk()
my_w.geometry("500x500") 

def my_upd():
    print('Check box value :',c1_v1.get())

c1_v1=tk.StringVar()
c1 = tk.Checkbutton(my_w, text='PHP', variable=c1_v1,onvalue='Yes',offvalue='No',command=my_upd)
c1.grid(row=2,column=2) 

my_w.mainloop()
Now let us use one Boolean variable
import tkinter as tk
my_w = tk.Tk()
my_w.geometry("500x500") 

def my_upd():
    print('Check box value :',c1_v1.get())

c1_v1=tk.BooleanVar()
c1 = tk.Checkbutton(my_w, text='PHP', variable=c1_v1,onvalue=True,offvalue=False,command=my_upd)
c1.grid(row=2,column=2) 

my_w.mainloop()

How to set a default value ( check or uncheck ) to a checkbutton

import tkinter as tk
my_w = tk.Tk()
my_w.geometry("500x500") 

def my_upd():
    print('Check box value :',c1_v1.get())

c1_v1=tk.BooleanVar()
c1 = tk.Checkbutton(my_w, text='PHP', variable=c1_v1,onvalue=True,offvalue=False,command=my_upd)
c1.grid(row=2,column=2) 
c1_v1.set(False) # Change this value to True to check the Checkbutton

my_w.mainloop()
Using all above knowledge let us try to make second text button check or uncheck based on updating of first checkbox. Here we need to read the data of first checkbutton and then copy the same to second checkbutton.
import tkinter as tk
my_w = tk.Tk()
my_w.geometry("500x500") 

def my_upd():
    c2_v2.set(c1_v1.get())
    print('Check box value :',c1_v1.get())


c1_v1=tk.StringVar()
c1 = tk.Checkbutton(my_w, text='PHP', variable=c1_v1,onvalue='Yes',offvalue='No',command=my_upd)
c1.grid(row=2,column=2) 
c1_v1.set('Yes')   # Default value is kept as checked 

c2_v2=tk.StringVar()
c2 = tk.Checkbutton(my_w, text='MySQL', variable=c2_v2,onvalue='Yes',offvalue='No')
c2.grid(row=2,column=3) 
c2_v2.set('Yes')   # Default value is kept as checked 

my_w.mainloop() 

Difference between checkbox and radio buttons

When one can be selected ( or True ) among the many choices then Radio button is used.
When more than one option can be selected ( or True ) then checkbuttons can be used.

Examples

How many languages you know ? Answer can be more than one of the given options like PHP, Python, JavaScript, JQuery. Here Checkbox or checkbuttons representing one language as option is to be used.

Have you cleared the qualifying exam? The choice ( options ) are Yes, No or Appearing. Since one of the three options can be selected so here we will use Radio buttons.
Radiobuttons

  1. Exercise on Checkbutton
  2. Create a list of checkboxes representing different languages? User can select the languages they know and a Label will display name of all languages selected. Once any language is unchecked the value inside Label should update.


plus2net.com



Post your comments , suggestion , error , requirements etc here




We use cookies to improve your browsing experience. . Learn more
HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
©2000-2020 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer