Python 菜单总索引计数、菜单项长度
我创建了一个Python 菜单总索引计数、菜单项长度,python,menu,tkinter,Python,Menu,Tkinter,我创建了一个菜单: 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.onEdit
菜单
:
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")
我计划稍后配置其所有项,但以下代码一次配置一个项:
self.commandMenu.entryconfig(1, state = "normal")
有没有办法获取菜单项的总量,或者一次配置所有项?您可以使用
self.commandMenu.index(“end”)
获取菜单中最后一项的索引。然后,您可以迭代这些项来配置它们:
last = self.commandMenu.index("end")
for i in range(last+1):
self.commandMenu.entryconfigure(i, state="normal")
[更新布莱恩·奥克利的答案]
self.commandMenu.index(“end”)
不起作用。改用
self.commandMenu.index(tk.END)
[编辑]
确保在菜单没有元素时捕捉到错误:
index(tk.END)
将返回None
,您将遇到错误无法添加int和NoneType。
谢谢Bryan!请你也看看我的其他一些Tkinter问题好吗?