一图看懂tkinter类库结构关系
一、先上图
(方便匆忙的朋友取图就走。下文详细描述图的说明、制作过程、用途等。)
1.1 图的说明
既然是一图看懂,本不应再啰嗦,但还是补充一些说明:
- 集中了tkinter 和 ttk 中的类,并用图中的颜色作了区分。
- 其它的则没有包含:
- colorchooser
- commondialog
- constants
- dialog
- dnd
- filedialog
- font
- messagebox
- scrolledtext
- simpledialog
- tix
- python version 3.7.8
二、制作过程
2.1 动机、目的和背景
- 刚开始学习 tkinter,一上来就被它里面复杂的类给绕迷糊了。
而且它本身也容易让人迷糊:- ttk 对12个widget进行了改写和更新(青绿),当然要用新的。
- ttk 还增加了7个新的(嫩绿)。(以上基类没有算在内)
- tkinter则还有些保留(品红)
- tik 现在则是基本上不怎么使用了,保留它只是为了兼容。
以上描述的ttk 部件的细节:(摘自官网手册)
ttk 中有 18 种部件 ,其中十二种已存在于 tkinter 中: “Button”,
“Checkbutton”, “Entry”, “Frame”, “Label”, “LabelFrame”, “Menubutton”,
“PanedWindow”, “Radiobutton”, “Scale”, “Scrollbar” 以及 “Spinbox”。
另外六种是新增的: “Combobox”, “Notebook”, “Progressbar”, “Separator”, “Sizegrip” 以及 “Treeview”。 它们全都是 “Widget” 的子类。
- 因此官网手册推荐,正确的模块导入顺序是这样的:
from tkinter import *
from tkinter.ttk import *
这样能确保,ttk 的新控件(当然包括它的属性和方法)能被优先采用。
新旧控件确实有差别,这里暂不述及。