您的位置:

Python Tkinter Checkbox:实现复选框功能

一、什么是Tkinter Checkbox?

Python中的Tkinter是一个用于快速创建用户界面的标准GUI工具包。它提供了一组用于创建窗口小部件和框架的工具。其中,复选框是一种常用的小部件,它允许用户在选项之间进行多选,以便在其它操作之前进行选择。

复选框通常是一个小方框,可以在其中添加一个选中符号(通常是一个勾选框)。它们通常与单选按钮一起使用,但与单选按钮不同,它们可以选择多个选项。

    from tkinter import *  
    win = Tk()  
    win.geometry("100x100")  
    button1=Checkbutton(win, text='男')  
    button1.pack() 
    win.mainloop() 

二、Tkinter Checkbox使用方法

复选框通常不需要设置很多属性,通常只需要设置文本和变量即可。文本是将在复选框旁显示的标签,而变量必须是Tkinter变量(一种特殊类型的变量)。

通常,用户设置的值为1或0。在tkinter中,使用IntVar()变量存储这些值,1表示选中,0表示未选中。

    from tkinter import *  
    win = Tk()  
    win.geometry("100x100")  
    var=IntVar() # 用于存储选中状态 
    button1=Checkbutton(win, text='男', variable=var)  
    button1.pack() 
    win.mainloop()

相同的变量可以绑定到多个复选框中,这样当用户更改其中一个复选框时,关联的所有复选框状态都将被更新。

    from tkinter import *  
    win = Tk()  
    win.geometry("100x100")  
    var1=IntVar() 
    var2=IntVar() 
    button1=Checkbutton(win, text='男', variable=var1)  
    button2=Checkbutton(win, text='女', variable=var2)  
    button1.pack()  
    button2.pack() 
    win.mainloop() 

三、Tkinter Checkbox实例

下面的代码是一个示例,展示如何使用Tkinter中的复选框来选择多个选项并打印选中的选项。

    from tkinter import *  
  
    class Checkbox(Frame): 
        def __init__(self, master): 
            super(Checkbox, self).__init__(master) 
            self.var1 = IntVar() 
            self.var2 = IntVar() 
            self.var3 = IntVar() 
            self.c1 = Checkbutton(self, text="男", variable=self.var1, onvalue=1, offvalue=0) 
            self.c2 = Checkbutton(self, text="女", variable=self.var2, onvalue=1, offvalue=0) 
            self.c3 = Checkbutton(self, text="其他", variable=self.var3, onvalue=1, offvalue=0) 
            self.c1.pack(side=LEFT) 
            self.c2.pack(side=LEFT) 
            self.c3.pack(side=LEFT) 
            self.pack() 
        
        def dump(self): 
            print(self.var1.get(), self.var2.get(), self.var3.get()) 

    root = Tk() 
    app = Checkbox(root) 
    Button(text='打印选中项', command=app.dump).pack() 
    root.mainloop()

在上面的示例中,我们定义了一个名为Checkbox的类,它继承自tkinter的Frame类。我们更改所有复选框的值存储在变量中的方式,并使用onvalue和offvalue设置选中和非选中状态。

最终,“打印选中项”按钮将调用dump函数并打印所有选中的值。

四、总结

复选框是一种常用的用户界面元素,在Tkinter中可以通过Checkbutton类进行实现。Tkinter提供了一组用于创建多种窗口小部件和框架的工具,并且我们还可以设置变量将值存储在内存中,并将其绑定到多个复选框中。

复选框允许用户在选项之间进行多选,以便在其它操作之前进行选择。在以上示例中,我们展示了如何使用Tkinter中的复选框来选择多个选项并打印选中的选项。