2014-04-09 3 views
2

Я создал Menu:меню общий подсчет индекса, длина элементов меню

self.commandMenu = Menu(menubar, tearoff = 0) 
self.commandMenu.add_command(label = "Rename", accelerator = "Ctrl+R", command = self.onRename, state = "disabled") 
self.commandMenu.add_command(label = "Edit module name", command = self.onEditModuleName, state = "disabled") 
self.commandMenu.add_command(label = "Create instance", command = self.onCreateInstance, state = "disabled") 
self.commandMenu.add_command(label = "Delete instance", command = self.onDeleteInstance, state = "disabled") 

Я планирую по настройке всех его элементов через некоторое время, но следующий код настраивает 1 пункт на время:

self.commandMenu.entryconfig(1, state = "normal") 

Есть ли способ получить общее количество элементов меню или настроить все элементы одновременно?

ответ

4

Вы можете использовать self.commandMenu.index("end"), чтобы получить индекс последнего пункта в меню. Затем вы можете перебирать элементы для их настройки:

last = self.commandMenu.index("end") 
for i in range(last+1): 
    self.commandMenu.entryconfigure(i, state="normal") 
+0

Thanks Bryan! Не могли бы вы также взглянуть на некоторые из моих других вопросов Tkinter? –

Смежные вопросы