【发布时间】:2021-05-11 16:27:23
【问题描述】:
我找到了大量关于如何使用 tkinter 更新 OptionsMenu 对象的文档,但是由于围绕我的 mac OS 版本的各种问题,我一直在使用 ttk 来构建我的项目,但当它出现时我发现自己被难住了更新选项菜单。
我的选项来自使用以下代码添加的列表:
dropdown_menu = ttk.OptionMenu(root, dropdown_menu_text, dropdown_options[0], *dropdown_options)
我正在使用单独的方法来更新dropdown_options 变量的内容。根据我找到的信息,使用标准 tk 更新选项菜单基本上涉及清除选项,然后循环通过我更新的列表并再次添加每个选项。
是不是和ttk有类似的逻辑?
【问题讨论】:
-
你为什么不用
ttk.Combobox -
您是否尝试过使用适用于标准
tkinter的逻辑?它有什么问题? -
对不起,我刚刚意识到我完全误解了你的问题,所以我删除了我的旧答案。是的,我尝试了逻辑,但它似乎取决于具有 ['menu'] 属性的 OptionsMenu,因此可以清除关联的属性并用新的菜单项替换。不幸的是 ttk OptionsMenu 没有这样的属性,所以我无法遵循逻辑。也就是说,我能够在下面的答案中找到一个解决方案:)
标签: python tkinter menu add ttk