【发布时间】:2020-04-13 22:56:17
【问题描述】:
我正在尝试找出如何在 tkinter/python 中生成 TAB 键事件。
我在 tkinter 中有一个用于返回键的键绑定。
am_field_txt.bind('<Return>', next_focus)
我不想调用函数 (next_focus),而只是想生成一个 TAB 事件,这样对正在使用的条目的现有验证将能够使用按下 Tab 键时发生的“focusout”来运行。 (我已经设置了带有验证的文本条目,以便在 validate=focusout 上进行检查并处理所有事情;但我希望它能够处理用户可以按返回而不是“focusout”条件的一种情况(选项卡或单击文本框外))。 我真的不想使用 validate=key ,因为只要按下一个键,该例程就会运行(而且它已经设置好并用于焦点输出)。
是否有一种简单的方法来绑定条目的返回键,以便发生 TAB 事件?
我在网上找到了 TCL 的文档,上面写着:
bind .w <Return> {focus [tk_focusNext %W]}
bind .w <Return> {event generate %W <Tab>}
最后一行是我想做的——除了 Python 和 tkinter 的格式/语法。 我已经使用了 tk_focusNext 函数,但它再次使用了 tkinter/python 的不同语法,所以我认为从第二行开始,它一定意味着如果按下 RETURN 键,就有一种方法可以生成一个 TAB 键。 (除此之外,tk_focusNext 也不能正常工作,似乎选择了与 tab 键不同的焦点......但这是一个不同的主题)。
【问题讨论】:
标签: python validation events tkinter bind