小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
和猫妹学Python,一起趣味学编程。
今日目标
学习下ttk模块,它会使控件看起来更加美观,还可以定制主题。
是Tkinter模块中的一个进阶模块。
实现下面效果:
主题和样式
主题
可以通过Style类的实例对象的theme_names()方法查看当前系统支持的主题。
语法为:
theme_names()
还可以通过Style类的实例对象的theme_use(thename)方法来设置当前程序的主题。
语法为:
theme_use(thename)
其中thename表示系统主题的名称
样式
TKinter中的控件具有的样式参数无法直接用到ttk模块中的控件。
必须使用Style类实例对象的configure()方法进行设置。
语法为:
configure(style,**kw)
style表示控件样式的名称组合,固定格式为'自定义名称,控件样式名称'
kw表示控件的样式
控件样式名称->控件:
-
TButton,TCheckbutton,TEntry,TFrame,TLabel,TLabelFrame,TMenubutton,TRadiobutton等->Button,Checkbutton等去掉首字符T
-
Horizontal.TScale或Vertical.TScale->Scale
-
Horizontal.TScrollbar或Vertical.TScrollbar->Scrollbar
-
TCombobox->Combobox
-
Horizontal.TProgressbar或Vertical.TProgressbar->Progressbar
-
TNotebook->Notebook
-
Treeview->Treeview
(Combobox,TProgressbar,Notebook,Treeview)这后四个为ttk模块新增模块。
参考代码见同名公号
下拉菜单(Combobox类)
可以通过ttk模块中的Combobox类创建下拉菜单
语法如下:
Combobox(master,values)
master表示父容器
values表示下拉菜单的选项值
下拉菜单对象的current()方法
用于设置下拉菜单选项,语法如下:
current(index)
index表示选项的索引
下拉菜单对象的get()方法
用于获取下拉菜单选项的值,语法如下:
get()
参考代码见同名公号
进度条(Progressbar类)
可以通过ttk模块中的Progressbar类创建下拉菜单
语法如下:
Progressbar(master,mode,length,value,maximum,orient,variable)
master进度条的父容器
mode进度条的模式,determinate,indeterminate。
前者指示从起点到终点,用于明确进度的数据。
后者起点终点间往复运动,用于不明确进度的数据。
length进度条的长度
value获取或设置进度条的值
maximum进度条的最大值
orient进度条的方向,HORIZONTAL或VERTICAL
variable与进度条相关联的Variable类型变量,可以获取或设置进度条的值
进度条的start()方法
用于自动调整进度条的位置,语法如下
start(interval)
其中interval表示间隔时间,默认值为50ms
进度条的step()方法
设置进度条移动的步长,语法如下
step(amount)
其中amount表示步长,默认值为1.0
进度条的stop()方法
停止进度条的自动调整,语法如下
stop()
参考代码见同名公号
选项卡(Notebook类)
可以通过ttk模块中的Notebook类创建选项卡内容,语法如下:
Notebook(master)
参数master表示选项卡的父容器
选项卡add()方法,用于添加新选项卡及其相关内容,语法如下:
add(child)
child表示控件或选项卡
参考代码见同名公号
树和表格(TreeView类)
可以通过TreeView类创建树和表格对象
语法如下:
TreeView(master,show,colums)
master表示树和表格的父容器
show表示控件的具体功能,包括tree和headings,即树和表格
colums为一个列表,列表中的每个值表示表格中列的标识,而列表的长度则为表格中列的长度
selection()方法
用户返回树中当前节点的节点识别码
item(item,option,values)方法
返回树中当前选定节点的相关信息,或者修改表格中内容
item节点识别码
option节点相关信息
values
insert(parent,index,iid,text,image,values,open,tags)方法
向树中插入一个新节点,或者向表格中插入一行数据
parent树中父节点,对于表格一般为空
index树中节点或表格中每行数据插入的索引,索引可以使数字,也可以是end
iid节点识别码
text树中节点识别码
image树种节点图片
values表格中每行的值
open树种节点的状态,打开为True
tags表示标记
headings(column,anchor,image,text,command)方法
用户设置或查询表格指定列的标题相关信息
column列的位置
anchor文本内容的位置
image标题显示的图片
text标题显示的文本内容
command指定列相关联的函数
column(column,anchor,width)方法
用于设置或查询表格中指定列的相关信息
column列的位置
anchor文本内容的位置
width列的宽度
树与表格事件
内容改变事件,使用<<TreeviewSelect>>表示,当选择的内容发生改变触发
节点打开事件,使用<<TreeviewOpen>>表示,当树的节点打开时触发
节点关闭事件,使用<<TreeviewClose>>表示,当树的节点关闭时触发
参考代码见同名公号
怎么样?
你学会了吗?
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!