Ошибка с переключением кадров в Tkinter - PullRequest
0 голосов
/ 26 апреля 2018

Я пробую графический интерфейс Python в рамках школьной программы, я пытаюсь переключать кадры с помощью кнопки, которая предназначена для уничтожения старого кадра и открытия нового, пока у меня нет проблем с открытиемновый кадр Я не могу уничтожить старый или загрузить какие-либо виджеты и т. д. в новый кадр.Вот часть кода, с которой у меня возникают проблемы:

class welcomePage(tk.Frame):

def __init__(self, parent, controller):
    tk.Frame.__init__(self, parent)
    self.controller = controller

    homebutton = tk.Button(self, text = "Return Home", command=lambda: self.home(), width = 30, height = 1)
    homebutton.pack(padx = 10, pady= 20 )

    cswitch = tk.Button(self, text = "Customer Interface", command=lambda: (self.destroy, CustomerPage()), width = 30, height = 1)
    cswitch.pack(padx = 10, pady= 15 )

    exit = tk.Button(self, text="Exit", command=self.destroy, width = 30, height = 1)
    exit.pack(padx = 10, pady= 20 )

class CustomerPage(tk.Tk):
def __init__(self, *args, **kwargs):
    tk.Tk.__init__(self, *args, **kwargs)


    self.title("Customer Interface")
    self.minsize(width = 300, height = 100)
    self.maxsize(width = 9999, height = 9999)
    tab_control = tk.Notebook(self)
    admin1 = tk.Frame(tab_control)
    admin2 = tk.Frame(tab_control)
    admin3 = tk.Frame(tab_control)
    admin4 = tk.Frame(tab_control)
    tab_control.add(admin1, text='Menu')
    tab_control.add(admin2, text='DataBase')
    tab_control.add(admin3, text='Sales History')
    tab_control.add(admin4, text='Search')        

                # -- Menu -- #

    homebutton = tk.Button(admin1, text = "Return Home", command=lambda: self.home(), width = 30, height = 1)
    homebutton.pack(padx = 10, pady= 30 )

    cswitch = tk.Button(admin1, text = "Admin Interface", command=lambda: self.cswitch(), width = 30, height = 1)
    cswitch.pack(padx = 10, pady= 10 )

    exit = tk.Button(admin1, text="Exit", command=self.destroy, width = 30, height = 1)
    exit.pack(padx = 10, pady= 30 )

Вот ошибка, которую я получаю: AttributeError: модуль 'tkinter' не имеет атрибута 'Notebook'

Не могунайдите в Интернете что-нибудь об этой конкретной ошибке, поэтому любая помощь будет принята с благодарностью:).

1 Ответ

0 голосов

Это должно работать:

from tkinter import ttk

tab_control = ttk.Notebook(self)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...