如何在 tkinter 中更改组合框的背景颜色?
How to change the background color of combobox in tkinter?
我正在尝试将 tkinter 中组合框的背景颜色更改为红色。但我不能这样做好心的帮助。
这是我的代码
'''
#code
style = ttk.Style()
style.map('TCombobox', fieldbackground=[('readonly','red')])
style.map('TCombobox', selectbackground=[('readonly', 'red')])
style.map('TCombobox', selectforeground=[('readonly', 'white')])
n= tk.StringVar(value=download_choices[0])
n.set(download_choices[0])
youtubeChoicesLabel = ttk.Combobox(root, font=font, justify='center', textvariable=n, values=download_choices)
youtubeChoicesLabel["state"] = "readonly"
youtubeChoicesLabel.bind('<<ComboboxSelected>>')
youtubeChoicesLabel.current(0)
# youtubeChoicesLabel["selectbackground"] = '#ff0000'
# youtubeChoicesLabel["foreground"] = '#000000'
youtubeChoicesLabel.pack(side=TOP, pady=20)
'''
问题在于您使用的主题。有些主题不会让您更改某些功能。例如,如果您使用“vista”主题,则不能更改按钮或组合框的背景颜色。
您需要将主题更改为允许更改按钮或组合框背景颜色等功能的主题。您可以更改主题,如下所示:
style.theme_use("default")
您不必一定要使用“默认”主题,您只需要使用一个允许您更改组合框背景颜色的主题。我使用“默认”是因为我知道它可以让您更改背景颜色。
我正在尝试将 tkinter 中组合框的背景颜色更改为红色。但我不能这样做好心的帮助。 这是我的代码 '''
#code
style = ttk.Style()
style.map('TCombobox', fieldbackground=[('readonly','red')])
style.map('TCombobox', selectbackground=[('readonly', 'red')])
style.map('TCombobox', selectforeground=[('readonly', 'white')])
n= tk.StringVar(value=download_choices[0])
n.set(download_choices[0])
youtubeChoicesLabel = ttk.Combobox(root, font=font, justify='center', textvariable=n, values=download_choices)
youtubeChoicesLabel["state"] = "readonly"
youtubeChoicesLabel.bind('<<ComboboxSelected>>')
youtubeChoicesLabel.current(0)
# youtubeChoicesLabel["selectbackground"] = '#ff0000'
# youtubeChoicesLabel["foreground"] = '#000000'
youtubeChoicesLabel.pack(side=TOP, pady=20)
'''
问题在于您使用的主题。有些主题不会让您更改某些功能。例如,如果您使用“vista”主题,则不能更改按钮或组合框的背景颜色。
您需要将主题更改为允许更改按钮或组合框背景颜色等功能的主题。您可以更改主题,如下所示:
style.theme_use("default")
您不必一定要使用“默认”主题,您只需要使用一个允许您更改组合框背景颜色的主题。我使用“默认”是因为我知道它可以让您更改背景颜色。