【问题标题】:Menu total index counts, length of menu items菜单总索引计数,菜单项长度
【发布时间】:2014-05-23 07:01:18
【问题描述】:

我创建了一个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")

有没有办法获取菜单项的总数,或者一次配置所有项?

【问题讨论】:

    标签: python menu tkinter


    【解决方案1】:

    [更新 Bryan Oakley 的答案]

    self.commandMenu.index("end") 不起作用。
    请改用self.commandMenu.index(tk.END)

    [编辑] 确保在菜单没有元素时捕获错误:index(tk.END) 将返回 None 并且您将遇到错误 Cannot add int and NoneType.

    【讨论】:

      【解决方案2】:

      您可以使用self.commandMenu.index("end") 获取菜单中最后一项的索引。然后你可以遍历这些项目来配置它们:

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

      【讨论】:

      • 谢谢布莱恩!你能看看我的其他一些 Tkinter 问题吗?
      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      相关资源
      最近更新 更多