我正在寻找一种方便的方法,可以通过将tkinter根实例的默认颜色设置为界面上所有子窗口小部件的颜色。
我遇到了this stackoverflow post,并尝试使用tk_setPalette()
。但是我意识到,如果您使用 ttk.widgets ,此方法将不起作用。
root.tk_setPalette()
是否有等效的ttk方法?
这是一个最小,完整且可验证的示例:
import tkinter as tk
from tkinter import ttk
class Formular(tk.Frame):
def __init__(self,master):
tk.Frame.__init__(self,master)
button = ttk.Button(self,text='Click me!').pack()
class Application:
def __init__(self, master):
self.master = master
self.formular = Formular(self.master).pack()
if __name__ == "__main__":
root = tk.Tk()
root.tk_setPalette(background='#ffffff')
my_gui = Application(root)
root.mainloop()
如果将button = ttk.Button()
更改为button = tk.Button()
,一切正常,按钮的颜色将与根窗口和父框架相同。