大家有没有觉得我们在使用基础的tkinter模块,会不会感觉展现的页面效果比较单一呢?但是看到一些案例演示,又觉得展现效果还是比较炫酷的,其实这里不单单只是使用了模块,还利用了另一个进阶型模块——ttk,除了展现效果华丽紧致,它内部的逻辑结构更井然有序,如果想探究ttk,那就跟着小编学习吧!
与tkinter一样的是,虽然我们进阶学习了ttk,但是完全不用担心新事物的接触,因为他两的用法基本是一样的,但是ttk经常能用到的是style对象。
ttk组件导入
fromtkinterimportttk
案例演示:
#这里调用了Checkbutton控件与ttk结合一起使用。 fromtkinterimport* fromtkinter.messageboximport* #新建窗体 root=Tk() root.geometry("450x100") root.title("CheckButton控件") #Label标签 Label01=Label(root,text="请选择你去过的城市") Label01.grid(row=0,column=0,padx=0,pady=20) city_list=["北京","上海","广州","深圳","南京"] #用一组值存储选中哪些 is_check_list=[] #通过循环展示 forcityincity_list: is_check_list.append(IntVar()) CheckButton01=Checkbutton(root,text=city,variable=is_check_list[-1])#为啥是-1 CheckButton01.grid(row=0,column=len(is_check_list),padx=5,pady=5) #sel函数 defsel(): all_select="" foriinrange(0,len(is_check_list)): ifis_check_list[i].get()==1: all_select+=city_list[i]+"" Label_select["text"]="所选城市为:"+all_select #添加一个Button Button01=Button(root,text="确认选择",command=sel) Button01.grid(row=1,column=0,padx=5,pady=5) #添加一个Label标签,用于展示显示后的结果 Label_select=Label(root,text="") Label_select.grid(row=1,column=1,columnspan=5) #加载 root.mainloop()
最终演示效果:
以上代码运行结果,是我们可以多选“北京”、“上海”等等图示所示地区的,可以进行多选,这也是ttk的魅力,别忘了都是基于 tkinter模块的哦~大家好好学习吧。