【问题标题】:tkinter: change foreground color of specific menu itemstkinter:更改特定菜单项的前景色
【发布时间】:2014-04-11 03:51:16
【问题描述】:

使用 TKinter,是否可以仅更改菜单中某些项目的文本颜色?我想让不那么受欢迎的项目具有更少的对比度,以便用户可以快速找到最常用的项目。到目前为止,我只找到了Menuforeground 选项,它改变了所有东西(不是特定项目)的颜色,或者使特定项目的state 选项disabled 改变了颜色,但是他们应该仍然可以点击做某事。有小费吗?我希望有一种方法可以使用 MenuMenubutton 类来完成此操作,而无需从头开始为这一功能重新实现菜单。

【问题讨论】:

    标签: python user-interface menu colors tkinter


    【解决方案1】:

    我认为您正在寻找entryconfig 方法,该方法通过传递菜单命令的索引,然后是add method options 列表中的选项来工作。这是一个例子:

    root = Tk()
    
    menubar = Menu(root)
    
    filemenu = Menu(menubar, tearoff=0)
    filemenu.add_command(label="Open")
    filemenu.add_command(label="Save")
    menubar.add_cascade(label="File", menu=filemenu)
    
    #entryconfig method to change the item with index '0' to white
    filemenu.entryconfig(0, foreground='white')
    
    root.config(menu=menubar)
    root.mainloop()
    

    【讨论】:

    • 谢谢 - 这行得通!我之前尝试过,但在尝试使用 foreground 作为输入选项时出错,所以我错误地认为它必须只是整个 Menu 的一个选项......但我后来改变了我的环境有点,现在这完美! (:
    猜你喜欢
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多