Ttk 框架,背景颜色

Ttk Frame, Background color

我正在为我的 GUI 使用 ttk。我知道这也是一个很简单的问题......我正在尝试更改主要window的背景颜色。 我试图更改主题,因为我正在开发 Mac(和 Python 3.5)以避免主题 'aqua' 出现问题,即 default.I'我一直在阅读关于同一个问题的几个解决方案,例如这些问题......这些是问题的数量:

54476511, 38712352, 47327266, 23750141.

但是,我还没有解决问题。 这是我的代码。

#!/usr/bin/env python

# -*- coding: utf-8 -*-



from tkinter.scrolledtext import *

from tkinter import Tk, BOTH, W, N, E, S, messagebox, END

from tkinter.ttk import Button, Label, Style, Frame



class Example(Frame):


    def __init__(self,master):

        super().__init__()

        self.initUI()


    def initUI(self):

        self.master.title("Example")

        Style().theme_use("classic")

        self.pack(fill=BOTH, expand=1)


        self.columnconfigure(1, weight=1)

        self.columnconfigure(3, pad=7)

        self.rowconfigure(3, weight=1)

        self.rowconfigure(5, pad=7)


        self.txt_Pad = ScrolledText(self)

        self.txt_Pad.grid(row=1, column=0, columnspan=2, rowspan=4, padx=5, sticky=E+W+S+N)

        self.txt_Pad.insert(END,'Type your info here')


        btn_save = Button(self, text="Save", command=self.save_command)

        btn_save.grid(row=1, column=3)


        btn_close = Button(self, text="Close", command=self.onClose)

        btn_close.grid(row=2, column=3, pady=4)


        btn_help = Button(self, text="Help", command=self.about_command)

        btn_help.grid(row=5, column=0, padx=5)        


    def onClose(self):

        self.master.destroy()


    def about_command(self):

        msb = messagebox.showinfo("About", "\"Insert a useful tip Here\"")


    def save_command(self):

        print('Your info it\'s save now')


    def open_command(self):

        print('Choose your File')



def main():

    root = Tk()

    root.geometry("350x300+300+300")

    root.configure(bg='#0059b3')

    app = Example(root)

    root.mainloop()




if __name__ == '__main__':

    main() 

如有任何建议,我们将不胜感激。

创建样式然后应用它。

from tkinter.scrolledtext import *

from tkinter import Tk, BOTH, W, N, E, S, messagebox, END

from tkinter.ttk import Button, Label, Style, Frame



class Example(Frame):


    def __init__(self, master):

        super().__init__()

        self.initUI()


    def initUI(self):

        self.master.title("Example")

        # create a new style
        self.style = Style()
        # configure it to the background you want
        self.style.configure('My.TFrame', background='#0059b3')
        #Style().theme_use("classic")
        # apply it
        self.config(style='My.TFrame')

        self.pack(fill=BOTH, expand=1)


        self.columnconfigure(1, weight=1)

        self.columnconfigure(3, pad=7)

        self.rowconfigure(3, weight=1)

        self.rowconfigure(5, pad=7)


        self.txt_Pad = ScrolledText(self)

        self.txt_Pad.grid(row=1, column=0, columnspan=2, rowspan=4, padx=5, sticky=E+W+S+N)

        self.txt_Pad.insert(END,'Type your info here')


        btn_save = Button(self, text="Save", command=self.save_command)

        btn_save.grid(row=1, column=3)


        btn_close = Button(self, text="Close", command=self.onClose)

        btn_close.grid(row=2, column=3, pady=4)


        btn_help = Button(self, text="Help", command=self.about_command)

        btn_help.grid(row=5, column=0, padx=5)        


    def onClose(self):

        self.master.destroy()


    def about_command(self):

        msb = messagebox.showinfo("About", "\"Insert a useful tip Here\"")


    def save_command(self):

        print('Your info it\'s save now')


    def open_command(self):

        print('Choose your File')



def main():

    root = Tk()

    root.geometry("350x300+300+300")

    root.configure(background='#0059b3')

    app = Example(root)

    root.mainloop()




if __name__ == '__main__':

    main() 

我在修改的地方留下了评论。