#python #tkinter #colors #combobox #background
#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)
»’
Ответ №1:
Проблема связана с используемой вами темой. Некоторые темы просто не позволяют изменять определенные функции. Например, если вы используете тему «vista», вы не можете изменить цвет фона кнопок или выпадающих списков.
Вам нужно сменить тему на ту, которая позволяет изменять такие функции, как цвета фона кнопок или выпадающих списков. Вы можете изменить свою тему, как показано на рисунке:
style.theme_use("default")
Вам не обязательно обязательно использовать тему «по умолчанию», вам просто нужно использовать тему, которая позволяет изменять цвет фона combobox. Я использовал «по умолчанию», потому что знаю, что это позволяет изменять цвет фона.