如何解决可以从Tkinter Entry小部件执行命令吗?
我有一个tkinter GUI,其中包括一个Entry Widget(tk.Entry)。目前,这将显示一个数值,可以通过几个tkinter按钮向上/向下递增。除了增加Entry Widget中显示的值之外,每当单击Button时,它还会执行一个命令,该命令会使用Entry Widget中的新值来更新物理仪器上的适当设置。
我想知道是否还可以提供以下选项:如果用户在Entry Widget中键入数字以覆盖已经存在的内容,那么它可以执行与单击上/下按钮相同的命令吗?例如,如果将该值设置为10,并且用户输入100,则将执行命令以将实际乐器更新为100。
我尝试将代码command=mycommandname
添加到Entry Widget(例如input_wavelength = tk.Entry(pwr_mtr_ctrl_frame,relief=tk.GROOVE,font=( "Ariel",11),justify='center',validate='key',vcmd=pwr_vcmd,command=mycommandname)
,但收到错误“未知选项“ -command””
我想这意味着Entry Widget不像Button Widget那样具有执行功能的选项吗?有办法以某种方式实现这一点吗?
解决方法
def print_something(*args):
print('hello world')
root = TK()
entry1 = Entry(root)
entry1.bind("<Return>",print_something)
# you can use other keys and replace it with "<Return>". EX: "f"
# by default,this function will pass an unknown argument to your function.
# thus,you have to give your function a parameter; in this case,we will use *args
root.mainloop()
,
根据您的描述,使用Spinbox
可以更好地“为您服务”。
这就是说,如果您想在用户输入内容时执行某些操作,则需要将函数绑定到<Return>
捕获的Entry
事件:
这是方法:
input_wavelength = tk.Entry(pwr_mtr_ctrl_frame,relief=tk.GROOVE,font=( "Ariel",11),justify='center',validate='key',vcmd=pwr_vcmd)
input_wavelength.bind("<Return>",mycommandname)
如果mycommandname
也用作命令,则需要这样声明:
def mycommandname(event=None):
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。