首页 > 解决方案 > 如何在 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)

'''

标签: pythontkintercolorscomboboxbackground

解决方案


问题在于您使用的主题。有些主题只是不允许您更改某些功能。例如,如果您使用“vista”主题,则无法更改按钮或组合框的背景颜色。

您需要将主题更改为允许您更改按钮或组合框的背景颜色等功能的主题。您可以更改主题,如下所示:

style.theme_use("default")

您不必一定使用“默认”主题,您只需要使用一个允许您更改组合框背景颜色的主题。我使用“默认”是因为我知道它可以让您更改背景颜色。


推荐阅读