如何在ttk组合框中更改下拉菜单(即tk.Listbox)的活动背景的颜色

时间:2018-09-22 04:24:59

标签: python tkinter

以下代码创建了一个ttk.Combobox小部件:

stdClass object

单击组合框向下箭头后,将显示一个包含import tkinter.ttk as ttk default_values = ['Peter','Scotty','Walter','Scott','Mary','Sarah','Jane', 'Oscar','Walley','Faith','Bill','Egor','Heley'] s=ttk.Style() s.configure( 'TCombobox', font=('Purisa', 20, 'bold'), background ='cyan', fieldbackground='pink') c=ttk.Combobox(values=default_values) c.master.option_add( '*TCombobox*Listbox.background', 'yellow') c.master.option_add( '*TCombobox*Listbox.selectbackground','red') #does not work c.master.option_add( '*TCombobox*Listbox.selectforeground','grey') #does not work c.master.option_add( '*TCombobox*Listbox.highlightbackground','blue') # does not work c.master.option_add( '*TCombobox*Listbox.highlightforeground','green') #does not work c.master.option_add( '*TCombobox*Listbox.activestyle', 'underline') #does not work c.grid() 的下拉菜单(这是一个tk.Listbox小部件)。当鼠标悬停在下拉菜单上时,将在鼠标指针下方显示一个活动背景。 我想更改此灰色活动背景的颜色。我该怎么做?

作为dropdown menu isn't a ttk widget,它将不响应和default values设置。我也尝试过ttk.Style()方法,但只能更改列表框背景。

问题: active background in dropdown menu

1 个答案:

答案 0 :(得分:1)

您正在尝试使用正确的选项来更改背景颜色:

c.master.option_add( '*TCombobox*Listbox.selectbackground','red')

但是您犯了一个小错误,即selectbackground。在selectbackground中,background的首字母应大写。
*TCombobox*Listbox.selectbackground成为*TCombobox*Listbox.selectBackground
-----------------------__^__-----------------------------------------__^__-------

尝试:

c.master.option_add( '*TCombobox*Listbox.selectBackground','red')

类似地,foreground变成Foreground