在Tkinter菜单小部件中获取条目列表(或字典或元组)

时间:2018-08-20 18:53:52

标签: python-2.7 tkinter tkinter-menu

我的环境是运行在Windows 10上的Python 2.7。

我正在编写一个Tkinter应用程序,该应用程序将包含一个“最新文件”菜单,以方便用户使用。要创建该菜单,我不仅需要具有动态添加,删除和重新排序菜单项的功能,而且还需要识别存在的菜单项和这些菜单项是什么。支持将文件列表“加帽”为(例如)五个最新文件的逻辑,在将新文件添加到列表时删除较旧的文件。它还将支持“清除历史记录”功能,删除所有现有条目。

添加,删除和重新排列单个已知项目的菜单内容是一件容易的事; add_command()delete()insert_command()方法将涵盖这些用例。但是我已经检查了几个在线引用,但找不到一个可以告诉我菜单当前内容的方法或属性,甚至无法告诉我菜单有多少个条目当前包含。

是否存在这样的属性/方法?还是我必须应用大锤方法,例如反复执行entrycget()方法,逐个索引直到遇到异常?

1 个答案:

答案 0 :(得分:2)

您可以将index方法与参数"end"一起使用,以获取最后一项的索引。

last_item = the_menu.index('end')

然后可以使用它来遍历菜单中的所有项目。