《tkinter实用教程二》tkinter的子模块ttk,2024年最新刚从阿里、头条面试回来

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

下面以 Label 对象为例,通过创建一个蓝底红字的标签,说明二者的主要区别:

使用 tkinter 控件的代码:

from tkinter import *

root = Tk()

l1 = Label(text=“label1”,fg=“red”,bg=“blue”)

l1.pack()

root.mainloop()

使用 ttk 控件的代码:

from tkinter import *

from tkinter import ttk

root = Tk()

style_default = ttk.Style()

style_default.configure(“TLabel”,foreground=“red”,background=“blue”)

l1 = ttk.Label(root,text=“lable1”,style=‘TLabel’)

l1.pack()

root.mainloop()

以下是代码执行的结果:

在这里插入图片描述

在这里插入图片描述

二者在展示效果上基本没有区别,主要区别在代码的编写上。

由于 ttk 分离了控件的创建代码和样式代码,所以代码看起来比较复杂,行数较多。

实际上,ttk 由于抽离了样式代码,同样的样式只需要写一次,在创建控件的时候可以直接引用,所以当控件较多时,会极大的降低工作和代码量。

tkinter 原生控件每次创建一个控件,都需要写一遍样式代码,所以不适合使用在稍微复杂一点的应用中。

ttk 支持的控件

ttk 带有17个控件,其中11个已经存在于 tkinter 中:ButtonCheckbuttonEntryFrameLabelLabelFrameMenubuttonPanedWindowRadiobuttonScaleScrollbar

6个新的窗口控件类是:ComboboxNotebookProgressbarSeparatorSizegripTreeview。 所有这些类都是Widget的子类。

ttk 控件通用参数

ttk.Widget 类定义了 tk 风格控件的标准可选参数通用方法,该类类似于 Java 中的接口,不应该直接实例化。

  1. 所有 ttk 控件都能接受以下参数:

| 参数 | 描述 |

| — | — |

| class | 指定窗口类。 该类用于在选项数据库中查询窗口的其他选项、确定窗口的默认绑定标签以及选择控件的默认布局和样式。 此选项是只读的,只能在创建窗口时指定。 |

| cursor | 指定要用于控件的鼠标光标。 如果设置为空字符串(默认值),从父控件继承光标。 |

| takefocus | 确定窗口在键盘遍历期间是否接受焦点。 返回 0、1 或空字符串。 如果返回 0,则表示在键盘遍历期间应完全跳过该窗口。 如果为 1,则表示只要窗口可见,就应该接收输入焦点。 空字符串意味着遍历脚本决定是否关注窗口。 |

| style | 可用于指定控件样式。 |

  1. 可滚动控件的通用可选参数

具备滚动条的控件支持以下可选参数:

| 参数 | 描述 |

| — | — |

| xscrollcommand | 用于与水平滚动条通信。当widget窗口中的视图发生变化时,widget会根据scrollcommand生成Tcl命令。通常这个选项由一些滚动条的Scrollbar.set()方法组成。 这将导致滚动条在窗口中的视图发生变化时更新。 |

| yscrollcommand | 用于与垂直滚动条通信。 有关更多信息,请参见上文。 |

  1. 标签类控件的通用参数

LabelButton类Button 控件支持以下可选参数:

| 参数 | 描述 |

| — | — |

| text | 指定在控件中展示的字符串 |

| textvariable | 指定一个变量名,这个变量的值会填充text参数,展示在控件中。 |

| underline | 如果设置,则指定要在文本字符串中加下划线的字符的索引(从 0 开始)。 下划线字符用于助记符激活。 |

| image | 指定要显示的图像。 这是一个包含 1 个或多个元素的列表。 第一个元素是默认图像名称。 列表的其余部分是由 Style.map() 定义的一系列 statespec/value 对,指定当小部件处于特定状态或状态组合时要使用的不同图像。 列表中的所有图像都应具有相同的大小。 |

| compound | 在文本和图像选项都存在的情况下,指定如何相对于文本显示图像。 有效值为:text:仅显示文本;image:仅显示图像;top、bottom、left、right:分别显示文本的上方、下方、左侧或右侧的图像。none:默认值。 显示图像(如果存在),否则显示文本。 |

| width | 如果大于零,则指定为文本标签分配多少字符宽度的空间,如果小于零,则指定最小宽度。 如果为零或未指定,则使用文本标签的自然宽度。 |

  1. 兼容性选项

| 参数 | 描述 |

| — | — |

| state | 可设置为 normaldisabled 以控制“禁用”状态位。 这是一个只写选项:设置它会更改控件状态,但 Widget.state() 方法不影响此选项。 |

  1. 控件状态

控件状态由独立的状态标志组成的位图:

| 参数 | 描述 |

| — | — |

| active | 鼠标光标在小部件上,按下鼠标按钮会导致一些动作发生。 |

| disabled | 在程序控制下,控件被禁用 |

总结

技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-dkiuRmG1-1713419498433)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值