如何通过制表符遍历在对象焦点上导致ttk OptionMenu下拉选择(扩展)?

问题描述 投票:0回答:1

我们有一个Tkinter表单,上面带有ttk OptionMenu下拉框。当您单击下拉菜单时,您可以开始输入您的选择,并且下拉菜单将自动聚焦于以这些字符开头的选择。

当您使用制表符遍历菜单而不是使用鼠标时,会发生此问题。 Tab将突出显示ttk.OptionMenu,但是除非您按下空格键或单击,否则它将不会展开下拉菜单以开始输入文本。

是否有办法在OptionMenu突出显示标签时强制click()或其他东西?

我试图用.bind和.configure做一些事情,但我肯定迷路了:)

   cust_selection = StringVar(window)
   customers = getcustomerlist() # pulls customer list from file
   vic_name_lbl = Label(window, text="Select Customer:")
   vic_name_lbl.grid(column=0, row=3)
   vic_name_box = ttk.OptionMenu(window, cust_selection, *customers)
   vic_name_box.grid(column=1, row=3, sticky=(W,E))
   vic_name_box.configure(width=15)
python macos tkinter ttk
1个回答
0
投票

不确定是否有帮助,但是文档说所有ttk小部件都具有takefocus属性,该属性:

确定在键盘输入期间窗口是否接受焦点遍历。 0、1或返回空字符串。如果返回0,则返回表示在键盘操作期间应完全跳过窗口遍历。如果为1,则表示窗口应接收输入只要可见就集中注意力。而空字符串表示遍历脚本可以决定是否专注于窗口。

© www.soinside.com 2019 - 2024. All rights reserved.