Как вызвать раскрывающийся список ttk OptionMenu (расширение) на объекте фокуса через перемещение по вкладке? - PullRequest
0 голосов
/ 25 сентября 2019

У нас есть форма Tkinter с раскрывающимися списками ttk OptionMenu.Когда вы щелкаете по раскрывающемуся списку, вы можете начать печатать свой выбор, и он автоматически сфокусируется на выделении, начинающемся с этих символов.

Проблема возникает, когда вы используете вкладку для перехода в меню, а не с помощьюмышь.На вкладке будет выделено ttk.OptionMenu, однако он не развернет раскрывающийся список, чтобы начать ввод текста, если вы не нажмете пробел или не нажмете кнопку.?

Я пытался кое-что сделать с .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)

1 Ответ

0 голосов
/ 25 сентября 2019

Не уверен, что это полезно, но в документации сказано, что все виджеты ttk имеют атрибут takefocus, который:

Определяет, принимает ли окно фокус при обходе клавиатуры.0, 1 или пустая строка возвращается.Если возвращается 0, это означает, что окно должно быть полностью пропущено во время обхода клавиатуры.Если 1, это означает, что окно должно получать фокус ввода, пока оно доступно для просмотра.А пустая строка означает, что сценарии обхода принимают решение о том, фокусироваться или нет на окне.

...