• 使用tkinter开发GUI程序6 -- 事件响应


    用tkinter可将用户事件与自定义函数绑定,用键盘或鼠标的动作事件来响应触发自定义函数的执行。其通式为:

    控件实例.bind(<事件代码>,<函数名>)

    其中,事件代码通常以半角小于号“<”和大于号“>”界定,包括事件和按键等2~3个部分,它们之间用减号分隔。常用事件代码如下:

     

    例如,将框架控件实例frame绑定鼠标右键单击事件,调用自定义函数myfunc()可表示为"frame.bind('<Button-3>,myfunc')"。注意:myfunc后面没有()。

    将控件实例绑定到键盘事件和部分光标位置不落在具体控件实例上的鼠标事件时,还需要设置该实例执行focus_set()方法获得焦点,才能对事件持续响应。例如frame.focus_set()

    所调用的自定义函数若需要利用鼠标或键盘的响应值,可将event作为参数,通过event的属性获取。event属性如下:

    将标签绑定在键盘任意键触发事件并获取焦点,并将按键字符显示在标签上:

    1. from tkinter import *
    2. def show(event):
    3. s = event.keysym
    4. lb.config(text=s)
    5. window = Tk()
    6. window.title('按键学习')
    7. window.geometry('200x200')
    8. lb = Label(window, text='请按键', font=('黑体', 48))
    9. lb.bind('<Key>', show)
    10. lb.focus_set()
    11. lb.pack()
    12. window.mainloop()

     

     将窗体绑定鼠标单击事件,并将鼠标触发点在窗体上的位置显示在标签上:

    1. from tkinter import *
    2. def show(event):
    3. s = '光标位于x=%s,y=%s' % (str(event.x), str(event.y))
    4. lb.config(text=s)
    5. window = Tk()
    6. window.title('鼠标学习')
    7. window.geometry('200x200')
    8. lb = Label(window, text='请单击窗体')
    9. lb.pack()
    10. window.bind('<Button-1>', show)
    11. window.focus_set()
    12. window.mainloop()

     

     

     

     

  • 相关阅读:
    LayerNorm的图是不是画错了
    电脑dll丢失应该怎么解决,dll文件丢失怎么恢复方法分享
    【Linux系统管理】13 系统管理
    SpringCloud微服务技术栈(黑马)学习笔记DAY1
    Nginx生产环境平滑升级
    一文读懂测试金字塔
    关于主表和子表数据的保存
    Java基础学习——方法的定义与调用
    认识Vue
    列的完整性约束——调整列的完整性约束
  • 原文地址:https://blog.csdn.net/weixin_51995147/article/details/125513876