【问题标题】:Combobox changing out of focus background and foreground color组合框改变焦点背景和前景色
【发布时间】:2021-09-22 06:33:23
【问题描述】:

我需要更改组合框输入字段未聚焦时的前景色和背景色。我通读了这些thisthis,但不知道该使用哪一个。

我在 Windows 10 上使用 Python 3.9.6。

这是一个示例代码。

import tkinter as objTK
from tkinter import ttk as objTTK

objWindow = objTK.Tk()

objStyle = objTTK.Style()
objStyle.theme_use("clam")
objStyle.configure("TCombobox", backgroundcolor="orange")
objStyle.configure("TCombobox", foregroundcolor="blue")

tMonths = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
cbDtRStM = objTTK.Combobox(master=objWindow, width=10, state="readonly", values=tMonths)
cbDtRStM.pack()

btnButton = objTTK.Button(master=objWindow, text="Test")
btnButton.pack()

objWindow.bind("<Escape>", lambda funcWinSum: objWindow.destroy())

objWindow.mainloop()

目前文字显示为灰色,如下图所示。

我想将文本设置为黑色,背景设置为白色。

【问题讨论】:

    标签: python-3.x tkinter combobox


    【解决方案1】:

    阅读this后我能够解决这个问题

    这是更新后的代码。

    import tkinter as objTK
    from tkinter import ttk as objTTK
    
    objWindow = objTK.Tk()
    
    objStyle = objTTK.Style()
    objStyle.theme_use("clam")
    objStyle.map("TCombobox", selectforeground=[('readonly', '!focus', 'black')], \
                selectbackground=[('readonly', '!focus', '#DCDAD5')])
    tMonths = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
    cbDtRStM = objTTK.Combobox(master=objWindow, width=10, state="readonly", values=tMonths)
    cbDtRStM.pack()
    
    btnButton = objTTK.Button(master=objWindow, text="Test")
    btnButton.pack()
    
    objWindow.bind("<Escape>", lambda funcWinSum: objWindow.destroy())
    
    objWindow.mainloop()
    

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 2015-02-12
      • 1970-01-01
      • 2018-04-14
      • 2016-07-09
      • 2019-05-13
      • 1970-01-01
      • 2021-02-13
      • 2015-07-02
      相关资源
      最近更新 更多