第8-1讲,Checkbutton 多选框控件

Checkbutton是tkinter中的一个复选框控件,具有以下常用属性:

  1. text:设置Checkbutton的文本标签;
  2. variable:与Checkbutton关联的变量,可以是IntVar或BooleanVar类型;
  3. onvalue:当Checkbutton被选中时,variable变量所表示的值;
  4. offvalue:当Checkbutton未被选中时,variable变量所表示的值;
  5. command:当Checkbutton状态发生改变时,执行的回调函数。
import tkinter as tk

#第一步:创建窗体
window = tk.Tk()

#第三步:窗体配置
#窗体标题设置
window.title("checkbutoon")
#设置窗体图标
window.iconbitmap('../images/中雨.ico')
#设置窗体大小
window.geometry('300x200')

#第六步:创建选中checkbutton要显示的label
label = tk.Label(window, bg='yellow', width=20, text='')
label.pack()

#点击checkbutton,触发的函数
def select():
    select_lst = []

    if var1.get() == 1:      # var1.get()获取c1的状态值
        select_lst.append('python')

    if var2.get() == 1:
        select_lst.append('java')

    if var3.get() == 1:
        select_lst.append('php')

    text = "你选择了 " + ','.join(select_lst)
    label.config(text=text)

#第四步,配置checkbutton要用到的值
var1 = tk.IntVar()
var2 = tk.IntVar()
var3 = tk.IntVar()

#第五步:checkbutton创建
c1 = tk.Checkbutton(window,
                    text='Python',      # 选项显示内容
                    variable=var1,      # 绑定变量var1
                    onvalue=1,          # 被选中时的状态值
                    offvalue=0,         # 没有被选中时的状态值
                    command=select)
c1.pack()
c2 = tk.Checkbutton(window, text='java', variable=var2, onvalue=1, offvalue=0,command=select)
c2.pack()
c3 = tk.Checkbutton(window, text='php', variable=var3, onvalue=1, offvalue=0,command=select)
c3.pack()


#第二步:显示窗体
window.mainloop()

checkbutton 只有两个状态,选中或是未选中,在创建checkbutton控件值,设置onvalue和offvalue参数,我这里设置的是1和0,分别代表选中和未选中。

设置variable参数,将控件的值与变量绑定在一起,这样,通过变量var1就可以获取控件c1的状态值。

posted @ 2023-05-08 17:10  家乐福的搬砖日常  阅读(197)  评论(0编辑  收藏  举报