Tkinter - меняйте рамки с помощью ноутбука - PullRequest
0 голосов
/ 29 марта 2020

У меня есть рамка и внутри у меня есть ноутбук (вкладки). Каждая вкладка представляет собой отдельный кадр. Помимо ноутбука, у меня также есть Меню. То, что я пытаюсь сделать, это когда я нажимаю на меню, например, «файл», я хочу изменить текущий кадр на новый кадр.

У меня проблема с логи c потому что я использовал OOP для создания ноутбука.

Код

class Layout:
def __init__(self, window):
    self.window = window
    window.title('Insta Bot')
    window.geometry('800x600')

    # menu config
    menu = Menu(window)
    sub_menu = Menu(menu, tearoff=0)
    menu.add_cascade(label='Main', menu=sub_menu)
    sub_menu.add_command(label='Accounts')
    sub_menu.add_command(label='Exit')
    window.config(menu=menu)

    # tab config
    tab_control = ttk.Notebook(window)

    hash_tag_tab = TabHashTag(tab_control)
    followers_tab = TabFollowers(tab_control)
    location_tab = TabLocation(tab_control)

    tab_control.add(hash_tag_tab, text='Hash Tag')
    tab_control.pack(expand=1, fill="both")
    tab_control.add(followers_tab, text='Followers')
    tab_control.pack(expand=1, fill="both")
    tab_control.add(location_tab, text='Location')
    tab_control.pack(expand=1, fill="both")

    # status bar config
    status_bar = Label(window, text="status bar", bd=1, relief=SUNKEN, anchor=W)
    status_bar.pack(side=BOTTOM, fill=X)

Здесь я создаю Меню, Блокнот, а также строку состояния. Также я пу sh к элементу управления Tab 3 класса Frame (hash_tag_tab, follow_tab ...). То, что я хочу сделать, это когда пользователь нажимает на меню, чтобы изменить кадры между Notebook на другой кадр.

Я понимаю, что мне нужно использовать метод с именем tkraise(), но я не могу понять, логика c, как это сделать. Любая идея, как я могу использовать его в этом коде? Я надеюсь, что вопрос ясен, если нет, пожалуйста, ударил меня.

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