ТТК эквивалент для tkinter метод tk_setPalette ()? - PullRequest
0 голосов
/ 08 февраля 2019

Я искал удобный способ окрасить все дочерние виджеты в интерфейсе, установив цвет по умолчанию для корневого экземпляра tkinter.

Я натолкнулся на этот стековый пост и попытался использовать tk_setPalette().Однако я понял, что этот метод не работает, если вы используете ttk.widgets .

Существует ли эквивалентный метод ttk для root.tk_setPalette()?

Вот минимальный, полный и проверяемый пример:

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() все работает нормально, и кнопка будет иметь тот же цвет, что и корневое окно и родительский фрейм.

...