我正在学习使用Python和Tkinter创建软件。现在我需要为不同的条件更改菜单项,但找不到一个简单的方法来做到这一点。好吧,让我尝试使用明确的例子来说明我的问题:python tkinter:自定义菜单,同时拉下来
像图中所示,我在左边列表框和右侧的列表框。我还有一个菜单来移动项目,命令是“向右移动”,“向左移动”和“交换”。考虑以下条件:
- 当我只在左侧列表框中选择项目时,我只想要启用“移动到右侧”命令,如图所示。
- 当我只在右列表框中选中项目时,我只需要启用“向左移动”命令。
- 当我在两个列表框中选中项目时,我希望启用所有命令。
- 当我没有选择任何项目时,我想禁用所有命令。
我知道我可以通过将事件“ListboxSelect”和“Button-1”绑定到某些功能来完成工作,然后使用这些功能来配置菜单。但是当我在实际的软件中有五个列表框时,它确实是一项复杂的工作。所以我想知道是否有一个简单的方法来做到这一点,比如重载tkinter.Menu类中的一些函数(我尝试了重载post(),grid(),pack()和place(),它们都不起作用。
欢迎任何想法。
这正是我需要的!我已经完成了测试中所有条件的测试,它工作得很好。我相信我现在完全理解这个机制。非常感谢! – li2150 2013-04-25 15:40:26