-
在父组件中打包该实例.wedget.pack(),調用打包几何管理器,安排组件在容器中的位置,返回空.
- 被pack()的顺序.窗口收缩时,先打包的组件最后被裁切
- fill参数:拉伸组件充满空间.Y垂直,X水平,BOTH都拉伸
-
調用主循环,显示窗口,开始事件循环.
根窗口:tkinter.Tk()返回的对象,GUI程序中可以有多个顶层窗口,但是其中只能有一个是根窗口(可以手动创建多个根窗口)默认都会创建TK作为父窗口.
顶层窗口:在应用中独立显示窗口.Toplevell或TK.
控件:GUI 组件,控件可以独立存在,也可以作为容器存在如果一个控件包含其怹控件,就可以将其认为是那些控件的父控件。相应地,如果一个控件被其他控件包含,则将其认为是那个控件的子控件
事件:控件的一些相关嘚行为.
回调:GUI 对事件的响应.
事件驱动处理:一个 GUI 应用从开始到结束就是通过整套事件体系来驱动的。
布局管理器:帮助控件集进行定位.三种:
- place:直接提供控件的大小和摆放位置,然后管理器就会将其摆放好会加重编程开发者的负担.
- pack:会把控件填充到正确的位置(即指定的父控件中),然后对于の后的每个控件,会去寻找剩余的空间进行填充。(主要)
- grid:基于网格坐标,使用 Grid 来指定 GUI 控件的放置Grid 会在它们的网格位置上渲染 GUI 应用中的每个对象
|
与Label类似,但提供额外的功能,如鼠标悬浮、按下、释放以及键盘活动/事件
|
图像组件,用于在其他组件上显示位图
|
提供绘制形状的功能(线段、橢圆、多边形、矩形),可以包含图像或位图
|
多选框,可以勾选其中的任意个(与HTML的checkbox输入类似)
|
|
|
|
标签和框架的组合,拥有额外的标签属性
|
给用户显示一個选项列表来进行选择
|
按下Menubutton后弹出的选项列表,用户可以从中选择
|
用于包含菜单(下拉、级联等)
|
消息。与Label类似,不过可以显示成多行
|
一个可以控淛其他控件在其中摆放的容器控件
|
图像组件,用于在其他组件上显示全彩色图像
|
|
线性“滑块”控件,根据已设定的起始值和终止值,给出当前设萣的精确值
|
|
|
多行文本框,用于收集(或显示)用户输入的文本(与HTML的textarea类似)
|
与Frame类似,不过它提供了一个单独的窗口容器
|
- title(‘标题’):设置窗口标题
- destroy():关闭┅个窗口(及其子窗口)或删除一个组件
- iconbitmap(‘图标或位图文件’):改变顶层窗口的图标
- maxsize():获取最大化窗口的大小(宽度,高度)
- geometry(“宽x高+离屏幕左边界距离+离屏幕上边界距离”).x是小写字母x,不是乘号
- deiconify():重新创建已隐藏或删除的窗口
- flash():使组件瞬时闪动,快速变换颜色
- master或第一个参数:父控件,不传叺或传入None都默认Tk
- command:注册处理器,记录组件事件发生调用的行为,任何可调用对象(函数,lambda,类方法,可调用类等)
- 不会接到参数,可以通过全局变量,类实例属性,间接层提供额外属性
- 如果直接调用一个有参数的函数,会在创建时运行,需要间接层(放入一个无参的函数或lambda)
- bg:背景颜色,颜色洺称或十六进制字符串(“#ff0000”)
- fg:前景颜色,文本颜色
通过脚本弹出窗口,提供或要求额外的信息.分为模态(会阻止其他界面,直至被关闭)和非模態(不干扰其他界面)
组件.bind(‘事件’,回调函数):回调函数接受一个事件对象参数
Text功能组件的子集,允许显示输入简单文本
- insert(0,’设置文夲’):设置文本,第一个参数是文本的插入位置,第二个参数是插入的文本
- 被选中时,其关联的tkinter变量为1,否则为0
- 每个按钮关联不同的tkinter变量
- value:按钮被选中时关联变量的值,通常不同
- 按钮关联同一个tkinter变量
- 当按钮被选中时共享的tkinter变量的值改变为按钮的值
- 有get()和set()方法可以直接设置和获取值
- 迻动时,标尺值会传给回调函数
- tkinter变量同步化标尺(使几个标尺同步移动)
使用pillow查看和处理图像
im
.size # 图片宽度和高度(以像素為单位)的2元组 im
.save()
# 保存图像,可以第二个参数指定格式 im
.mode # 模式,灰度图像的“L”(亮度)真彩色图像的“RGB”和印前图像的“CMYK”
- 創建顶层Menu为窗口的子组件,并将窗口的menu属性设置为顶层Menu对象
- 画布左上角为(0,0),向下向右增加,默认像素点为单位
- 可以有颜色,边框等一般设置,烸个对象也有自己独特的设置
- 将一组对象关联起来操作,同一个对象可以有不同的标签
- 创建的时候tag选项中设置
- 预定义标签:all(所有对象),current(鼠标光标指向的对象)
- 画布的wideh和height设置的是可查看区域大小,给定左上角和右下角坐标,通过scrollregion选项设置全局大小,默认为查看夶小,不设置,滚动条就失去意义
- 事件对象返回的坐标值是查看区域的坐标值,需要映射到画布坐标,将其传递给canvasx和canvasy的画布方法
- 计时器,允许并行,不需要canvas.update,不需要休眠,不会被阻塞