python事件研究法,python事件触发机制

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: