设置ttk的样式.组合框



设置ttk的样式。组合框,我可以这样做:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
combostyle = ttk.Style()
combostyle.theme_create('combostyle', parent='alt',
settings = {'TCombobox':
{'configure':
{'selectbackground': 'blue',
'fieldbackground': 'red',
'background': 'green'
}}}
)
combostyle.theme_use('combostyle') 
combo = ttk.Combobox(root, values=['1', '2', '3'])
combo['state'] = 'readonly'
combo.pack()
entry = tk.Entry(root)
entry.pack()
root.mainloop()

但这为所有tkinter和ttk小部件设置了主题。我只想设置的样式组合框。我该怎么做?

我在Windows10上使用Python 3。

非常感谢您的帮助。

您的原始方法配置全局主题。要将主题附加到一个组件,您必须创建它并将其附加到小部件类。

combostyle.configure('MyCustomStyleName.TCombobox', selectbackground = 'blue', ........) 
combo = ttk.Combobox(root, values=['1', '2', '3'], style = 'MyCustomStyleName.TCombobox')

最新更新