簡體   English   中英

為 ttk.Combobox 設置樣式

[英]Set style for ttk.Combobox

要設置 ttk.Combobox 的樣式,我可以這樣做:

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 小部件設置了主題。 只想為 Combobox 設置樣式。 我怎樣才能做到這一點?

我在 Windows 10 上使用 Python 3。

任何幫助是極大的贊賞。

您的原始方法配置了一個全局主題。 要將主題附加到一個組件,您必須創建它並將其附加到小部件 class。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM