Я пытаюсь изменить стиль из класса appss на все мои классы, и я получаю сообщение об ошибке - PullRequest
0 голосов
/ 23 октября 2018

Я получаю ошибку:

self.frames[ControlPage.__name__].Win.configure(bg=bg)
AttributeError: 'ControlPage' object has no attribute 'Win'

Код:

class Appsas(tk.Tk):


    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        container = tk.Frame(self)
        container.pack(side='top', fill='both', expand=True,)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)
        self.frames = {}
        for F in (StartPage, ControlPage, DigPage):
            page_name = F.__name__
            frame = F(parent=container, controller=self)
            self.frames[page_name] = frame
            frame.grid(row=0, column=0, sticky='nsew')
        self.show_frame('StartPage')
        menubar = Menu(self)
        Color = Menu(menubar, tearoff=0)
        menubar.add_cascade(label='Change color',menu=Color)
        Color.add_command(label='Black', command=self.black)
        Color.add_command(label='Green', command='')
        Color.add_command(label='Blue', command='')
        Color.add_command(label='Random', command='')
        self.config(menu=menubar)
    def black(self):
        bg='black'
        fg='white'
        self.frames[StartPage.__name__].configure(bg=bg)
        self.frames[ControlPage.__name__].Win.configure(bg=bg)
class ControlPage(tk.Frame):

    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        self.controller = controller
        self.label = tk.Label(self, text="CONTROL PAGE", bg='white', height=3, font=font)
        self.label.pack(side="top", fill="x", pady=15)
        self.button = Button(self, text="Back to manual page", command=lambda: controller.show_frame("StartPage"),width=20, bg='white', relief=SOLID)
        self.button.pack()
    def add():
        Win = Toplevel()
        Win.title('Adding zone')
        Win.geometry('300x200+800+400')
        Win.config(pady=50, padx=50)
        Win.resizable(width=False, height=False)
        label = Label(Win, text='Entet zone name').pack()
        entry = Entry(Win)
        entry.pack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...