1. Tkinter事件管理器属性和方法
2. 事件系统绑定方式和事件一览表
组件通用 | 属性 | 1 | Dimension | 控件大小; |
2 | Color | 控件颜色; | ||
3 | Font | 控件字体; | ||
4 | Anchor | 锚点; | ||
5 | Relief | 控件样式; | ||
6 | Bitmap | 位图; | ||
7 | Cursor | 光标; | ||
Pack | 属性 | 1 | after | 参数为另一个控件,在pack布局另外的那个控件之后再布局该控件 |
2 | anchor | 用于确定控件被放置相对于父控件的位置,可选项有'e','s','w','n','sw','se','nw','ne','center',默认为'center' | ||
3 | before | 参数为另一个控件,在pack布局另外的那个控件之前先布局该控件,指定控件在容器中是否可以扩展,可以是布尔值,可以是0,1或者'no',默认为0【1】 | ||
4 | expand | |||
5 | fill | 用于拉伸控件,可选的style有'none'(默认值,没有拉伸)、'x'(横向拉伸)、'y'(纵向拉伸)和'both'(双向拉伸) | ||
6 | side | 指定将控件放置相对于父控件在哪一边,可选项是'left'(左)、'right'(右)、'top'(上)和'bottom'(下),默认为'top' | ||
7 | ipadx | 水平的两个方向,控件内部额外添加空间,长度单位为像素 | ||
8 | ipady | 竖直的两个方向,控件内部额外添加空间,长度单位为像素 | ||
9 | padx | 水平的两个方向,控件外部额外添加空间,长度单位为像素 | ||
10 | pady | 竖直的两个方向,控件外部额外添加空间,长度单位为像素 | ||
11 | in_ | 指定pack于哪一个父控件,默认为当前父控件 | ||
方法 | 1 | pack_configure | 和pack一样 | |
2 | pack_forget | 使控件不再被Pack几何布局管理器管理(控件并不是被删除了!依然占用内存!) | ||
3 | pack_info | 返回一个字典,键值分别为当前控件的参数的字符串形式及值 | ||
4 | pack_propagate | 参数如果为真布尔值,如1或on,则为容器控件启用传播(见下【几何传播】),容器控件必须是窗口名。如果为假布尔值,则禁用容器控件的传播。在这两种情况下,都会返回一个空字符串。如果省略布尔值,则命令返回0或1,以指示当前是否为容器控件启用传播。默认情况下,将启用传播。 | ||
5 | pack_slaves | 返回一个列表,列表内容为该控件中所有用pack布局的子控件(按pack布局的顺序) | ||
Grid | 属性 | 1 | column | 参数为一个非负整数,0为第1列,代表控件从第一列开始布局 |
2 | columnspan | 参数为正整数,控件占n列 | ||
3 | row | 参数为一个非负整数,0为第1行,代表控件从第一行开始布局 | ||
4 | rowspan | 参数为正整数,控件占n行 | ||
5 | ipadx | 同上Pack | ||
6 | ipady | 同上Pack | ||
7 | padx | 同上Pack | ||
8 | pady | 同上Pack | ||
9 | in_ | 同上Pack | ||
10 | sticky | 控件在grid布局的网格中默认会居中显示,该参数可以改变其显示位置,可选参数有'n','w','s'和'e'(或N,W,S,E)(组合起来也可以用,如'nw'或NW) | ||
方法 | 1 | grid_configure | 同上pack | |
2 | grid_forget | 同上pack | ||
3 | grid_info | 同上pack | ||
4 | grid_location | 两个参数x和y(代表像素位置),以元组形式返回该位置(x,y)在grid的网格中的列与行,若不在,则返回-1 | ||
5 | grid_propagate | 同上pack | ||
6 | grid_columnconfigure | 比较复杂,主要用于查询或设置网格、网格的行属性等,可选参数有minsize、weight、uniform和pad | ||
7 | grid_rowconfigure | 类似于grid_columnconfigure | ||
8 | grid_remove | 与grid_forget相比,它的功能只有一个区别,在grid几何布局管理移除对该控件的管理后,它会保留该控件之前的配置参数,若恢复管理,则将恢复该控件之前已配置好的参数(grid_forget没有此功能) | ||
9 | grid_size | 以元组的形式返回网格的大小(先列后行) | ||
10 | grid_slaves | 同上pack | ||
11 | grid_content | 同上pack | ||
12 | grid_bbox | 如果没有参数,将返回网格的边界框的数据(以像素为单位)。返回值由4个整数组成。前两个是从网格左上角(先x后y)的像素偏移量,后两个整数是网格的宽度和高度,也以像素为单位。,如果指定了单个列和行,则返回该单元格的边界框数据,其中左上角的单元格从零开始编号。如果同时指定了列和行参数,则返回跨越所示行和列的边界框数据。 | ||
Place | 属性 | 1 | anchor | 改变place布局控件的基准点,默认为'nw'(左上角),【修改后其x参数和y参数的基准点随之改变】 |
2 | bordermode | 可选参数有'inside','outside'和'ignore',默认为'inside'【1】 | ||
3 | in_ | 同上Pack | ||
4 | relwidth | 设置控件宽度,参数为0~1.0,意为宽度占父控件宽度的比例,若父控件宽度为100,relwidth=0.5,则该控件宽度为100×0.5=50(像素),【与参数width冲突,两者会叠加】 | ||
5 | relheight | 设置控件高度,参数为0~1.0,意为高度占父控件高度的比例,若父控件高度为100,relheight=0.5,则该控件高度为100×0.5=50(像素),【与参数height冲突,两者会叠加】 | ||
6 | relx | 设置控件基准点(左上角)横坐标位置,参数为0~1.0,意为横坐标占父控件宽度的比例,若父控件宽度为100,relx=0.5,则该控件基准点横坐标为100×0.5=50(像素),【与参数x冲突,两者会叠加】 | ||
7 | rely | 设置控件基准点(左上角)纵坐标位置,参数为0~1.0,意为纵坐标占父控件高度的比例,若父控件高度为100,rely=0.5,则该控件基准点纵坐标为100×0.5=50(像素),【与参数y冲突,两者会叠加】 | ||
8 | width | 设定控件的宽度(单位:像素) | ||
9 | height | 设定控件的高度(单位:像素) | ||
10 | x | 设定控件基准点(左上角)的横坐标位置(单位:像素) | ||
方法 | 11 | y | 设定控件基准点(左上角)的纵坐标位置(单位:像素) | |
1 | place_configure | 同上pack | ||
2 | place_forget | 同上pack | ||
3 | place_info | 同上pack | ||
4 | place_slaves | 同上pack | ||
5 | place_content | 同上pack | ||
事件机制 | 事件属性 | 1 | char | 键盘的字符码,如”a”键的 char 属性等于 “a”,F1 键的 char 属性无法显示。 |
2 | keycode | 键盘的 ASCII 码,如 “a” 键的 keycode 属性等于 65。 | ||
3 | keysym | 键盘的符号,如 “a” 键的 keysym 属性等于 “a”,F1 键的 keysym 属性等于 “F1″。 | ||
4 | height,width | 控件的新高度与宽度,单位是像素。 | ||
5 | num | 事件发生时的鼠标按键码。 | ||
6 | widget | 事件发生所在的控件实例变量。 | ||
7 | x,y | 目前的鼠标光标位置。 | ||
8 | x_root,y_root | 相对于屏幕左上角的目前鼠标光标位置。 | ||
9 | type | 显示事件的种类。 | ||
事件绑定 | 1 | after(milliseconds [, callback [, arguments]]) | 在 milliseconds 事件后,调用 callback 函数,arguments 是 callback 函数的参数。此方法返回一个 identifier 值,可以应用在 after_cancel() 方法。 | |
2 | after_cancel(identifier) | 取消 callback 函数,identifier 是 after() 函数的返回值。 | ||
3 | after_idle(callback, arguments) | 当系统在 idle 状态(无事可做)时,调用 callback 函数。 | ||
4 | bindtags() | 返回控件所使用的绑定搜索顺序。返回值是一个元组,包含搜索绑定所用的命名空间。 | ||
5 | bind(event, callback) | 设置 event 事件的处理函数 callback。可以使用 bind(event,callback, “+”) 格式设置多个 callback 函数。 | ||
6 | bind_all(event, callback) | 设置 event 事件的处理函数 callback。可以使用 bind_all(event,callback, “+”) 格式设置多个 callback 函数。此方法可以设置公用的快捷键。 | ||
7 | bind_class(widgetclass, event, callback) | 设置 event 事件的处理函数 callback,此 callback 函数由 widgetcalss 类而来。可以使用 bind_class(widgetclass, event, callback, “+”) 格式设置多个 callback 函数。 | ||
8 | <Configure> | 此实例变量可以用于指示当控件的大小改变,或者移到新的位置。 | ||
9 | unbind(event) | 删除 event 事件与 callback 函数的绑定。 | ||
10 | unbind_all(event) | 删除应用程序附属的 event 事件与 callback 函数的绑定。 | ||
11 | unbind_class(event) | 删除 event 事件与 callback 函数的绑定。此 callback 函数由 widgetcalss 类而来。 | ||
窗体事件 | 1 | <FocusOut> | 当控件获取焦点时候触发,比如鼠标点击输入控件输入内容,可以调用 focus_set() 方法使控件获得焦点 | |
2 | <FocusIn> | 当控件失去焦点时激活,比如当鼠标离开输入框的时候 | ||
3 | <Configure> | 控件的发生改变的时候触发事件,比如调整了控件的大小等 | ||
4 | <Deactivate> | 当控件的状态从“激活”变为“未激活”时触发事件 | ||
5 | <Destroy> | 当控件被销毁的时候触发执行事件的函数 | ||
6 | <Expose> | 当窗口或组件的某部分不再被覆盖的时候触发事件 | ||
7 | <Visibility> | 当应用程序至少有一部分在屏幕中是可见状态时触发事件 | ||
8 | <Unmap> | 窗体隐藏时 | ||
9 | <Map> | 窗体由隐藏变为可视 | ||
10 | <Circulate> | 由于系统协议在顶层和底层显示切换 | ||
11 | <Property> | 窗体的属性被删除或改变被删除或改变 | ||
12 | <Destroy> | 组件销毁时 | ||
13 | <Activate> | 与组件state有关,组件变为可用时 | ||
14 | <Deactivate> | 组件变为不可用时 | ||
鼠标事件 | <modifier-type-detail> | Control,Alt,Shift,Lock,Double,Triple,Quadruple | ||
1 | <Enter> | 此事件在鼠标指针进入控件时发生。 | ||
2 | <Leave> | 此事件在鼠标指针离开控件时发生。 | ||
3 | <Button-1>、<ButtonPress-1>、<1> | 此事件在控件上单击鼠标左键时发生。同理,<Button-2> 是在控件上单击鼠标中间键时发生,<Button-3> 是在控件上单击鼠标右键时发生。 | ||
4 | <Button-2>、<ButtonPress-2>、<2> | 此事件在控件上单击鼠标左键时发生。同理,<Button-2> 是在控件上单击鼠标中间键时发生,<Button-3> 是在控件上单击鼠标右键时发生。 | ||
5 | <Button-3>、<ButtonPress-3>、<3> | 此事件在控件上单击鼠标左键时发生。同理,<Button-2> 是在控件上单击鼠标中间键时发生,<Button-3> 是在控件上单击鼠标右键时发生。 | ||
6 | <B1-Motion> | 此事件在单击鼠标左键,移动控件时发生 | ||
7 | <ButtonRelease-1> | 此事件在释放鼠标左键时发生。 | ||
8 | <Double-Button-1> | 此事件在双击鼠标左键时发生。 | ||
9 | <MouseWheel> | 鼠标滚轮事件 | ||
10 | <Motion> | 鼠标移动事件 | ||
键盘事件 | 1 | <Key> | 此事件在按下 ASCII 码为 48~90 时发生,即数字键、字母键及 +、~ 等符号 | |
2 | <Control-Up>、{Control, Alt ,Shift}-{Up,Down,Left,Right} | 此事件在按下 Ctrl+Up 组合键时发生。同理,可以使用类似的名称在 Alt、Shift 键加上 Up、Down、Left 与 Right 键。 | ||
3 | <Return> | |||
4 | <Escape> | 按键名 | ||
5 | <F1> ~ <F12> | 按键名 | ||
6 | <Num _Lock> | 按键名 | ||
7 | <Scroll_Lock> | 按键名 | ||
8 | <Caps_Lock> | 按键名 | ||
9 | <Print> | 按键名 | ||
10 | <Insert> | 按键名 | ||
11 | <Delete> | 按键名 | ||
12 | <Pause> | 按键名 | ||
13 | <Prior> | Page Up | ||
14 | <Next> | Page Down | ||
15 | <BackSpace> | 按键名 | ||
16 | <Tab> | 按键名 | ||
17 | <Cancel> | 按键名 | ||
18 | <Control_L> | 任意Ctl见 | ||
19 | <Alt_L> | 任意Alt键 | ||
20 | <Shift_L> | 任意shift建 | ||
21 | <Home> | 按键名 | ||
22 | <Up> | 按键名 | ||
23 | <Down> | 按键名 | ||
24 | <Left> | 按键名 | ||
25 | <Right> | |||
26 | <KeyPress-字母>/<KeyPress-数字> | |||
27 | <KeyRelease> | |||
系统消息 | 系统消息 | 1 | widget.protocol(protocol, function_handler) | tkinter 提供拦截系统信息的机制,协议处理例程(protocol handler) |
2 | WM_DELETE_WINDOW | 当系统要关闭该窗口时发生。 | ||
3 | WM_TAKE_FOCUS | 当应用程序得到焦点时发生。 | ||
4 | WM_SAVE_YOURSELF | 当应用程序需要存储内容时发生。 |