Tkinter.Checkbutton复选框

Checkbutton复选框

复选框

基本概念

复选框与单选框所不同的是复选框可以一次选择多个。
用法:Checkbutton(父对象,options,…)

简单应用

课程选择

from tkinter import *
from tkinter import messagebox
class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()
    def createWidget(self):
        self.label=Label(self,text="选修课程",width=40).grid(row=0)

        v1=IntVar()
        self.taekwondo=Checkbutton(self,text="跆拳道",variable=v1).grid(row=1,column=0,sticky=W)

        v2 = IntVar()
        self.ceremony = Checkbutton(self, text="礼仪", variable=v2).grid(row=2,column=0, sticky=W)

        v3 = IntVar()
        self.photoshop = Checkbutton(self, text="Photoshop", variable=v3).grid(row=3,column=0, sticky=W)

        v4 = IntVar()
        self.Philosophy = Checkbutton(self, text="哲学", variable=v4).grid(row=4,column=0, sticky=W)

        v5 = IntVar()
        self.illustration = Checkbutton(self, text="插图", variable=v5).grid(row=5,column=0, sticky=W)

        v6 = IntVar()
        self.film_appreciation = Checkbutton(self, text="电影", variable=v6,width=10).grid(row=1,column=0, sticky=E)

        v7 = IntVar()
        self.paper_cut = Checkbutton(self, text="剪纸", variable=v7,width=10).grid(row=2,column=0, sticky=E)

        v8 = IntVar()
        self.writing = Checkbutton(self, text="写作", variable=v8,width=10).grid(row=3,column=0, sticky=E)

        v9 = IntVar()
        self.baseball = Checkbutton(self, text="棒球", variable=v9,width=10).grid(row=4,column=0, sticky=E)

        v10 = IntVar()
        self.literature = Checkbutton(self, text="文学", variable=v10,width=10).grid(row=5,column=0, sticky=E)

if __name__ == '__main__':
    root=Tk()
    root.geometry('350x250')
    root.title('萤火虫选修课程选择')
    app=Application(master=root)
    root.mainloop()

在这里插入图片描述
在这里插入图片描述
这样写显然很复杂,不太聪明的样子。选择多的话还是写入字典比较方便。

from tkinter import *
from tkinter import messagebox
class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()
    def createWidget(self):
        self.label=Label(self,text="选修课程",width=40).grid(row=0)

        self.curriculum={
    
    
            0:'跆拳道',1:'礼仪',2:'Photoshop',3:'哲学',4:'插图',5:'电影',6:'剪纸',7:'写作',8:'棒球',9:'文学'
        }
        self.var={
    
    }
        for i in range(len(self.curriculum)):
            self.var[i]=BooleanVar()
            Checkbutton(self,text=self.curriculum[i],variable=self.var[i]).grid(row=i+1,sticky=W)
        self.button=Button(self,text="确认选择",command=self.confirm).grid()
    def confirm(self):
        select=''
        for i in self.var:
            if self.var[i].get()==True:
                select=select+self.curriculum[i]+'\n'
        print(select)
if __name__ == '__main__':
    root=Tk()
    root.geometry('350x380')
    root.title('萤火虫选修课程选择')
    app=Application(master=root)
    root.mainloop()

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44862120/article/details/108008287