zoukankan      html  css  js  c++  java
  • tkinter学习-- 八、事件event

    事件处理

    一个GUI应用整个生命周期都处在一个消息循环(eventloop)中
    它等待事件的发生,并作出相应的处理
    Tkinter提供了用以处理相关事件的机制.处理函数可被绑定给各个控件的各种事件
    widget.bind(event,handler)

    如果相关事件发生,handler函数会被触发,事件对象event会传递给handler函数

     

    from tkinter import *
    root = Tk();root.geometry("530x300")
    c1 = Canvas(root,width=200,height=200,bg="green")
    c1.pack()
    def   mouseTest(event):
        print("鼠标左键单击位置(相对于父容器):{0},{1}".format(event.x,event.y))
        print("鼠标左键单击位置(相对于屏幕):{0},{1}".format(event.x_root,event.y_root))
        print("事件绑定的组件:{0}".format(event.widget))
    def testDrag(event):
        c1.create_oval(event.x,event.y,event.x+1,event.y+1)
    def  keyboardTest(event):
        print("键的 keycode:{0},键的 char:{1},键的 keysym:{2}".format(event.keycode,event.char,event.keysym))
    def press_a_test(event):
        print("press a")
    def release_a_test(event):
        print("release a")
    c1.bind("<Button-1>",mouseTest)
    c1.bind("<B1-Motion>",testDrag)
    root.bind("<KeyPress>",keyboardTest)
    root.bind("<KeyPress-a>",press_a_test) #只针对小写的a,大写的 A 不管用
    root.bind("<KeyRelease-a>",release_a_test)
    root.mainloop()
    

      

  • 相关阅读:
    前端展示(四)
    小谢第66问:页面关闭鼠标光标
    小谢第64问:nuxt项目中增加百度分析统计
    js 判断当前是手机还是电脑
    布谷鸟自定义教程
    vs code常用插件及配置
    小程序几件小事儿
    删除 json 数据中的某一项
    小程序图片预览
    小程序 navigator 取消点击效果
  • 原文地址:https://www.cnblogs.com/yescarf/p/13901873.html
Copyright © 2011-2022 走看看