Python GUI编程利器:Tkinker中的进阶模块ttk(16)

小朋友们好,大朋友们好!

我是猫妹,一名爱上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>>表示,当树的节点关闭时触发

参考代码见同名公号

图片

怎么样?

你学会了吗?

图片

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

猜你喜欢

转载自blog.csdn.net/parasoft/article/details/131744443