Как можно вызвать функцию, которая будет выполнена после текущей функции?

Как организовать возврат пользователя на главную страницу путем нажатия кнопки и обратно в представленном коде на Python?
  • 7 июля 2024 г. 16:32
Ответы на вопрос 2
1. Для вызова функции, которая будет выполнена после текущей, можно использовать метод `after` из библиотеки `tkinter`:

```python
import tkinter as tk

def func1():
    print("Эта функция выполнится первой")

def func2():
    print("Эта функция выполнится после func1")

root = tk.Tk()

button1 = tk.Button(root, text="Функция 1", command=func1)
button1.pack()

button2 = tk.Button(root, text="Функция 2", command=lambda: root.after(0, func2))
button2.pack()

root.mainloop()
```

2. Для организации возврата пользователя на главную страницу путем нажатия кнопки и обратно, можно использовать метод `withdraw` для скрытия текущего окна и метод `deiconify` для открытия его снова. Например:

```python
import tkinter as tk

def show_main_window():
    main_window.deiconify()
    child_window.withdraw()

def show_child_window():
    main_window.withdraw()
    child_window.deiconify()

root = tk.Tk()

main_window = tk.Toplevel(root)
main_window.title("Главная страница")

child_window = tk.Toplevel(root)
child_window.title("Дочерняя страница")

button1 = tk.Button(main_window, text="На дочернюю страницу", command=show_child_window)
button1.pack()

button2 = tk.Button(child_window, text="На главную страницу", command=show_main_window)
button2.pack()

main_window.deiconify()

root.mainloop()
```
Просто написать в первой функции вторую в конце в виде «функция()»
Похожие вопросы