Tkinter — изменение списка в меню параметров

Есть ли способ манипулировать списком, отображаемым в OptionMenu, в отношении того, что пользователь выбрал в данный момент?

Например, допустим, у меня есть список — ["A","B","C"].

Если пользователь в настоящее время выбрал A, то, если он щелкнет меню параметров с выбранным в данный момент A, он увидит в списке не исходный список, а только B и C.

Если он переключит свой ответ, скажем, с A на B, то теперь он будет видеть только A и C в OptionMenu.

И то же самое последует, если он выберет B или C.

Спасибо!


person user3404844    schedule 18.03.2014    source источник


Ответы (1)


Виджет OptionMenu — это кнопка, при нажатии которой отображается раскрывающееся меню. Возможно, вам лучше использовать ttk.Combobox вместо этого, так как это более современный элемент пользовательского интерфейса, и вы можете очень просто настроить элемент конфигурации значений.

Вы можете настроить прикрепленное меню во время выполнения. Вы получаете доступ к меню, используя optionmenu['menu'], и затем вы можете запрашивать элементы в меню optionmenu['menu'].entrycget(0, 'label') или использовать entryconfigure для изменения элементов. Или вы можете удалить элементы optionmenu['menu'].delete(index) и добавить новые элементы. См. документацию по menu для получения подсказок по работе с пунктами меню.

person patthoyts    schedule 19.03.2014