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

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

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

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

 

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

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

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

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

from tkinter import *


def show(event):
    s = event.keysym
    lb.config(text=s)


window = Tk()
window.title('按键学习')
window.geometry('200x200')
lb = Label(window, text='请按键', font=('黑体', 48))
lb.bind('<Key>', show)
lb.focus_set()
lb.pack()
window.mainloop()

 

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

from tkinter import *


def show(event):
    s = '光标位于x=%s,y=%s' % (str(event.x), str(event.y))
    lb.config(text=s)


window = Tk()
window.title('鼠标学习')
window.geometry('200x200')
lb = Label(window, text='请单击窗体')
lb.pack()
window.bind('<Button-1>', show)
window.focus_set()
window.mainloop()

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PythonTkinter模块是Python中的一个GUI(图形用户界面)编程工具包,用于创建用户界面和交互应用程序TkinterPython的标准库之一,可以在Python的安装中直接使用,无需额外安装。 Tkinter提供了一系列的模块和类,用于创建和管理GUI应用程序的各种组件,如窗口、按钮、标签、文本框等。通过Tkinter的各种方法和属性,可以实现用户输入和输出的处理、界面布局的设计、事件的处理和响应等功能。 使用Tkinter编写GUI程序的一般步骤如下: 1. 导入Tkinter模块:使用import tkinter语句引入Tkinter模块。 2. 创建主窗口:使用Tk()函数创建一个主窗口对象。 3. 添加组件:使用各种Tkinter提供的组件类,如Button、Label、Entry等,通过实例化这些类创建相应的组件对象,然后使用pack()或grid()方法将组件添加到主窗口中。 4. 设计交互功能:通过设置组件的属性和绑定事件,实现组件的交互功能,如按钮的点击事件、文本框的输入事件等。 5. 进入事件循环:调用主窗口对象的mainloop()方法,进入事件循环,等待用户的输入和操作。 Tkinter提供了丰富的组件类和方法,可以满足开发各种类型的GUI应用程序的需求。除了创建基本的窗口和组件,还可以通过Tkinter进行布局管理、添加图标、设置样式和主题、处理键盘和鼠标事件等。 总之,TkinterPython中用于创建GUI应用程序的重要工具包,通过它可以快速、简单地实现用户界面和交互功能。无论是初学者还是有经验的开发者,都可以使用Tkinter开发各种类型的GUI应用程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨小古

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值