Найти - Пользователи
Полная версия: Tkinter действия над элементами меню
Начало » GUI » Tkinter действия над элементами меню
1
antib
Создаю меню, всё в нём работает, но на определённой стадии требуется забанить некоторые элементы. Меню привязано к MenuButton, элементы меню создаются примерно так:

chbt=menu.add_checkbutton(variable=child, label="С.О.+3", onvalue=1, offvalue=0)
Как мне этот элемент потом сделать неактивным?
В великом tkinter.pdf в главе 14.1. Menu item creation (coption) options
имеет место список аргументов creation options среди которых имеет место state который может быть disabled, normal и т.п.
Применение чего-то типа:
chbt.configure(state=DISABLED)
Даёт
AttributeError: ‘NoneType’ object has no attribute ‘configure’
Могу забанить кнопку, однако уже стало интересно как добраться до конкретного элемента.
Griffon
.add_<что угодно> не возвращает индекс элемента. Это странно, но факт (py2.7.1). Индексы элементов похоже начинаются с нуля (первый элемент), и затем каждый элемент, включая разделители, прибавляет к индексу 1. Таким образом можно либо считать элементы, либо после добавления нужного элемента написать id = menu_object.index(END).

Дальше, по тому же великому tkinter.pdf, необходимо писать не menu_item_oject.configure (потому что не существует menu_item_object), а menu_object.entryconfigure(index, option, …). То есть .entryconfigure(id, state=DISABLED).
4kpt
Спасибочки. Я когда-то задавал вопрос. Теперь я знаю на него ответ… Тогда не ответили. Еще раз спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB