【问题标题】:How to update the dropdown options in ttk.OptionsMenu (python, tkinter, ttk)如何更新 ttk.OptionsMenu 中的下拉选项(python、tkinter、ttk)
【发布时间】: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


【解决方案1】:

事实证明,经过更多的挖掘,我自己找到了解决方案,而且比我预期的要简单得多。原来答案只是添加行

dropdown_menu.set_menu(dropdown_options[0], * dropdown_options) 

假设 dropdown_options 是您的更新列表!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-01
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    相关资源
    最近更新 更多