Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Tkinter действия над элементами меню [RSS Feed]

#1 Апрель 16, 2011 19:17:25

antib
От:
Зарегистрирован: 2010-02-23
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter действия над элементами меню

Создаю меню, всё в нём работает, но на определённой стадии требуется забанить некоторые элементы. Меню привязано к 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’
Могу забанить кнопку, однако уже стало интересно как добраться до конкретного элемента.



ОС - linux mint, Python ver 3.3

Отредактировано (Апрель 16, 2011 19:20:43)

Офлайн

#2 Апрель 17, 2011 08:53:14

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Tkinter действия над элементами меню

.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).



Офлайн

#3 Апрель 22, 2011 18:49:03

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Tkinter действия над элементами меню

Спасибочки. Я когда-то задавал вопрос. Теперь я знаю на него ответ… Тогда не ответили. Еще раз спасибо.



Офлайн

  • Начало
  • » GUI
  • » Tkinter действия над элементами меню[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version