python事件研究法,python事件触发机制
一、概述
一个图像使用者界面应用整个生命周期都处在一个消息循环(事件循环)中。它等待事件的发生,并作出相应的处理100 .图形界面提供了用以处理相关事件的机制。处理函数可被绑定给各个控件的各种事件。
widget.bind(事件、处理程序)
如果相关事件发生,处理程序函数会被触发,事件对象事件会传递给处理者函数。二
二、鼠标和键盘事件
三、event 对象常用属性
四、鼠标事件和键盘事件用法测量
#编码=utf-8
fromtkinterimport *
类别应用程序(框架):
def__init__(self,master):
超级()。__init__(主)
self.master=主人
self.pack()
self.createWidget()
defcreateWidget(self):
self.canvas=Canvas(self,width=200,height=200,bg=green )
self.canvas.pack()
self.canvas.bind(Button-1 ,self.mouseTest)
self.canvas.bind(B1-Motion ,self.test_drag)
self.canvas.bind(KeyPress ,self.keyboard_test)
self.canvas.bind(KeyPress-a ,self.press_a_test)
self.canvas.bind(KeyRelease-a ,self.release_a_test)
defmouseTest(自身,事件):
打印(鼠标左键单机位置(相对于父容器):{0},{1}.格式(event.x,event.y))
打印(鼠标左键单击位置(相对于屏幕):{0},{1}.格式(event.x_root,event.y_root))
打印(事件绑定组件:{0}.格式(event.widget))
deftest_drag(self,event):
自我。画布。create _ oval(事件。x,event.y,event.x 1,event.y 1)
defkeyboard_test(自我,事件):
打印(键的keycode:{0},char:{1},keysym:{2} .格式(event.keycode,event.char,event.keysym))
defpress_a_test(self,event):
打印(“pressa”)
定义发布测试(自我):
打印(“releasea”)
if__name__==__main__:
root=Tk()
root.geometry(500x300 )
app=应用程序(根)
root.mainloop()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。