Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 菜单总索引计数、菜单项长度_Python_Menu_Tkinter - Fatal编程技术网

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问题好吗?