Python中TKinter的输入框如何绑定回车键事件调用功能函数

Python中TKinter的输入框如何绑定回车键事件调用功能函数

TKinter中的Entry输入框,与普通的按钮类型有所不同,没有command的属性来直接调用一个函数功能,所以,如果要通过键盘按键来调用一个函数,就必须要通过另外的代码将输入框的事件与具体的函数进行绑定,本文简单介绍一下,如何通过输入框的bind功能来绑定键盘事件。

首先,简单设计一个绑定事件的演示窗口,内容很简单,这里也简要说明了一下TKinter中控件位置的设定。

  • 第一行的标签用于提示说明,
    Label(labelframe, text=“标签显示内容”).pack(side = LEFT, padx=0, pady=5, ipadx=5, ipady=0),表示当side为LEFT左对齐的时候,padx=0,表示标签与左边对齐,pady = 5 表示标签距离顶部为5个长度单位,ipadx = 5 表示标签中的文字在标签内部的距离是5个长度单位,如果需要设置ipady的话,也是同理。
  • 第二行放置的是输入框,可以在其中输入你的内容,entry = Entry(root)
  • 第三行是标题为 “显示输入框中的内容” 的按钮,but = Button(root,text=“显示输入框中的内容”, command=print_info) 这个按钮中的command功能调用的是显示输入框中内容的函数 print_info。
  • 最后,底部的是一个状态栏,在点击按钮后,会显示输入框中的内容。
    演示程序窗口

一个简单的TK窗口设定好了之后,我们需要通过bind将键盘事件与输入框进行绑定,在这里可以添加多个与该输入框绑定的事件,比如,将回车键与print_info函数绑定,可以使用这个代码: entry.bind(“”, print_info),其中的"“代表的是回车键,双比如,要将删除键与delete_info函数绑定,可以通过变更参数进行绑定, entry.bind(”", delete_info)。 设定好这两个函数的绑定之后,就可以通过回车键,在状态栏显示输入框中的内容,与点击按钮的功能一样,通过输入删除键盘,将状态栏中的信息清空。

另外,可用的特殊键还有很多比如:Cancel (the Break key), BackSpace, Tab, Return(the Enter key), Shift_L (any Shift key), Control_L (any Control key), Alt_L (any Alt key), Pause, Caps_Lock, Escape, Prior (Page Up), Next (Page Down), End, Home, Left, Up, Right, Down, Print, Insert, Delete, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Num_Lock, and Scroll_Lock 等。只需要将bind中对应的"“替换为以上的按键名称就可以了,比如说要绑定 Control 作为功能键,则可以改为” <Control_L> "。

由于在通过bind调用函数时需要有个对应的事件参数,所在写需要被调用的函数的时候,要添加一个参数,但是又因为被键钮的command调用的函数,可以不需要参数,所以,比较方便的做法,就是设定一个默认值给参数。比如:defprint_info(event=‘’), 在没有参数的情况下,默认为空。

以下是这个演示案例的全部代码以及详细的注释,供参考。 当然,我相信你一定会举一反三的来使用这个功能&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值