Tkinter之Checkbutton

Checkbutton有两个不同的值,点击这个按钮将会在两个值间切换,选择和取消选择。俗称复选框。
 
示例:
import Tkinter as tk 
window = tk.Tk()
window.title('My Window')
window.geometry('500x300')  
 
l = tk.Label(window, bg='yellow', width=20, text='I love both')
l.pack()
 
def printselection():
    if (v1.get() == 1) & (v2.get() == 0):   
       l.config(text='I love only Python ')
    elif (v1.get() == 0) & (v2.get() == 1):  
       l.config(text='I love only C++')
    elif (v1.get() == 0) & (v2.get() == 0):   
       l.config(text='I do not love either')
    else:
       l.config(text='I love both')          
 
v1 = tk.IntVar()  # 定义v1和v2整型变量用来存放选择行为返回值0或者1
v2 = tk.IntVar()
v1.set(1)  # 设置默认选中状态
v2.set(1)
l1 = tk.Checkbutton(window, text='Python',variable=v1, command=printselection)   
l1.pack(anchor='w')
l2 = tk.Checkbutton(window, text='C++',variable=v2, command=printselection)
l2.pack(anchor='w')
    
window.mainloop()
 
 
详解:
tk.Checkbutton(window, text='Python',variable=v1, command=printselection)的完整代码应该是:
tk.Checkbutton(window, text='Python',variable=v1, onvalue=1,offvalue=0,command=printselection) 隐藏了onvalue=1,offvalue=0。即onvalue默认等于1,offvalue默认等于0处理了。
 
也可以手动设置为其他值,可以看看产生的效果,比如onvalue=0,offvalue=1;onvalue=1,offvalue=2。
 
1.onvalue表示checkbutton选中时的返回值,offvalue表示checkbutton取消选中的返回值。
2.若variable属性指定变量v,v.get()用来获取checkbutton选中与否状态的返回值:onvalue或offvalue的值。
3.使用v.set(x)设置checkbutton默认状态:x和onvalue、offvalue的值进行匹配,等于哪个就置为哪个状态。
 
 
posted @ 2019-10-30 13:56  数之美  阅读(2724)  评论(0编辑  收藏  举报