GUI界面设计 – tkinter库应用
文章目录
前言
学习tkinter库的一些心得体会,以及常用案例
一、事件
- 所谓事件(event)就是程序上发生的事。例如用户敲击键盘上某一个键或是单击、移动鼠标。而对于这些事件,程序需要做出反应。
- Tkinter提供的组件通常都有自己可以识别的事件。例如当按钮被单击时执行特定操作或是当一个输入栏成为焦点,而您又敲击了键盘上的某些按键,您所输入的内容就会显示在输入栏内。
- 程序可以使用事件处理函数来指定当触发某个事件时所做的反应(操作)。
二、事件类型
1.事件格式
事件类型的通用格式:
<[modifier-]…type[-detail]>
事件类型必须放置于尖括号<>内。
- type描述了类型,例如键盘按键、鼠标单击,鼠标(Button/Motion/Enter/Leave/Relase)
- modifier用于组合键定义,例如Control、Alt。
- detail用于明确定义是哪一个键或按钮的事件,例如1表示鼠标左键、2表示鼠标中键、3表示鼠标右键。
举例:
<Button-1> # 按下鼠标左键。
<KeyPress-A> # 按下键盘上的A键
<Control-Shift-KeyPress-A> # 同时按下了Control、Shift、A三键。
<B1-Motion> # 鼠标拖动事件。1代表按下左键拖动,2代表中键,3代表右键。同样的,鼠标的x,y会以event对象方式被送往handler。
<Double-Button-1> # 双击左键
2.事件对象
一个具体事件如是事件类(event class)的一个实例,事件类中设定了众多属性,其中部分属性是通用的,另一部分属性属于特定事件类型的,常用属性如下:
3. 事件处理函数
事件处理函数往往带有一个event参数。触发事件调用事件处理函数时,将传递Event对象实例。
def callback(event): #事件处理函数
showinfo("Python command","人生苦短、我用Python")
def callback(event):
print(event.x_root,event.y_root)
2. 事件绑定
1. 回调函数 – 创建组件对象时指定
创建组件对象实例时,可通过其命名参数command指定事件处理函数。例