python - 如何在 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")
您不必一定使用“默认”主题,您只需要使用一个允许您更改组合框背景颜色的主题。我使用“默认”是因为我知道它可以让您更改背景颜色。
推荐阅读
- c# - C#, ASP.NET MVC, Entity Framework : relationship multiplicity constraint violation
- java - Problem using data objects passed into JBPM 7.44/RH PAM 7.9 from
- android - Firestore 侦听器在 Android 上使 Unity 应用程序崩溃,但在 Unity 编辑器中工作正常。我该如何解决这个问题?
- c# - ASP.NET Core Razor Pages - 返回 Page() 后复杂模型属性为空
- c# - 如何了解之前打开了哪个页面
- r - 用于收集的多个键值对
- python - 如何从 Django REST API 将图像加载到 React?
- sql-server - 将行从 server1.database.table 复制到 server2.database.table
- c++ - c ++ csv逗号分隔文件条目,混合类型的麻烦
- node.js - Nodejs 没有从类模块中的插入函数返回 mysql 数据