我们有一个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)
不确定是否有帮助,但是文档说所有ttk
小部件都具有takefocus
属性,该属性:
确定在键盘输入期间窗口是否接受焦点遍历。 0、1或返回空字符串。如果返回0,则返回表示在键盘操作期间应完全跳过窗口遍历。如果为1,则表示窗口应接收输入只要可见就集中注意力。而空字符串表示遍历脚本可以决定是否专注于窗口。