【问题标题】:How to edit ttk style for ttk.OptionMenu如何为 ttk.OptionMenu 编辑 ttk 样式
【发布时间】:2016-11-24 19:48:47
【问题描述】:

最近开始使用 ttk 来改善我的 GUI 外观,但我一直在编辑 ttk.OptionMenu 样式。正如我所理解的,下面的代码应该改变所有 Radiobuttons 和 OptionMenus 的背景。对于 Radiobutton(和我尝试过的其他元素)它工作得很好,但 OptionMenu 根本没有改变。

s = ttk.Style()
s.configure("TRadiobutton", background="grey")
s.configure("TOptionMenu", background="grey")

【问题讨论】:

    标签: python-3.x tkinter ttk optionmenu


    【解决方案1】:

    OptionMenu 的样式名称不是 TOptionMenu。对于任何小部件,可以使用widget.winfo_class() 获取样式名称,对于OptionMenu,这将返回TMenubutton

    所以s.configure("TMenubutton", background="red") 产生:

    【讨论】:

    • 改变下拉菜单的背景颜色怎么样?您建议的方法仅在下拉菜单不可见时更改Menubutton的颜色
    • 这确实是一个新问题。菜单没有作为 ttk 的一部分获得主题,因此请使用 Tk 样式配置。这意味着您可以使用菜单背景选项配置菜单。您可以使用 w.nametowidget(w.cget("menu")) 获取与 OptionMenu 关联的菜单,其中 w 是小部件实例。
    • 我并不是说您对主要问题的回答不够好​​。它简单明了。只是想借此机会问一个我感兴趣的其他问题。感谢您的反馈!
    【解决方案2】:

    更改下拉菜单的背景:

    my_optionmenu["menu"].configure(bg="black")
    

    如果你运行:

    print(my_optionmenu["menu"].keys())
    

    您可以获得可以为 OptionMenu 小部件更改的所有选项

    【讨论】:

      猜你喜欢
      • 2015-11-10
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 2016-09-22
      • 1970-01-01
      • 2017-03-27
      • 2017-09-08
      • 1970-01-01
      相关资源
      最近更新 更多