python – 如何使用回车键调用按钮命令

python – 如何使用回车键调用按钮命令,第1张

概述在tkinter中,当按钮具有焦点时,您可以按空格键执行与该按钮关联的命令.我正在尝试按Enter键做同样的事情.我确定我过去做过这个,但我找不到代码,而我现在正在做的事情是行不通的.我在Mac上使用 python 3.6.1. 这是我尝试过的 self.startButton.bind('<Return>', self.startButton.invoke) 按Enter键无效,但按空格键可激活 在tkinter中,当按钮具有焦点时,您可以按空格键执行与该按钮关联的命令.我正在尝试按Enter键做同样的事情.我确定我过去做过这个,但我找不到代码,而我现在正在做的事情是行不通的.我在Mac上使用 python 3.6.1.

这是我尝试过的

self.startbutton.bind('<Return>',self.startbutton.invoke)

按Enter键无效,但按空格键可激活绑定到self.startbutton的命令.我试过绑定到< KeyPress-KP_Enter>结果相同.

我也试过绑定到我想要执行的命令:

self.startbutton.bind('<Return>',self.start)

但结果是一样的.

编辑

这是一个展示我正在谈论的行为的小脚本.

import tkinter as tkroot = tk.Tk() def start():    print('started')    startbutton.configure(state=tk.Disabled)    clearbutton.configure(state=tk.norMAL)def clear():    print('cleared')    clearbutton.configure(state=tk.Disabled)    startbutton.configure(state=tk.norMAL)    frame = tk.Frame(root)startbutton = tk.button(frame,text = 'Start',command = start,state=tk.norMAL)clearbutton = tk.button(frame,text = 'Clear',command = clear,state = tk.Disabled)startbutton.bind('<Return>',start) startbutton.pack()clearbutton.pack()startbutton.focus_set()  frame.pack() root.mainloop()

在这种情况下,按下空格键时它会起作用,当我按Enter键时它会失败.当我按Enter键时,我收到一条错误消息,说有一个参数被传递,但没有一个是必需的.当我更改定义以获取伪参数时,按Enter键工作,但按空格键失败,因为缺少参数.

我无法理解wizzwizz4的答案是如何工作的.此外,当我在实际脚本中按Enter键时,我没有看到错误消息,但是发布的时间太长了.

**再次编辑**

我只是在Mike-SMT的脚本中忽略了None的默认值.这让事情变得清晰.

解决方法 只要补偿绑定将发送给函数/方法的事件,您对self.startbutton.bind(‘< Return>‘,self.start)的使用应该可以正常工作.

这是一个简单的例子,只要按钮具有焦点,它就可以使用回车键.

import tkinter as tkroot = tk.Tk()def do_something(event=None):    print("dID something!")btn = tk.button(root,text="Do something",command=do_something)btn.pack()btn.bind("<Return>",do_something)#root.bind("<Return>",do_something) will work without the button having focus.root.mainloop()
总结

以上是内存溢出为你收集整理的python – 如何使用回车键调用按钮命令全部内容,希望文章能够帮你解决python – 如何使用回车键调用按钮命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1192177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存