Для того, чтобы при закрытии главного окна закрывались все остальные окна в приложении на Python, необходимо использовать модуль Tkinter. В Tkinter любое окно (или фрейм) является объектом, и за его отображение отвечает основной цикл событий (main event loop) приложения. Когда главное окно закрывается, это приводит к завершению цикла событий и, как следствие, к закрытию всех других окон.
Приведу пример кода, демонстрирующего эту ситуацию:
import tkinter as tk def create_new_window(): new_window = tk.Toplevel(root) new_window.title("Secondary Window") root = tk.Tk() root.title("Main Window") btn = tk.Button(root, text="Open New Window", command=create_new_window) btn.pack(pady=20) root.mainloop()
В этом примере мы создаем главное окно (root
) и кнопку, при нажатии на которую открывается второе окно (Toplevel
). Если мы закроем главное окно, то все остальные окна также автоматически закроются, так как завершится цикл событий приложения.
Таким образом, чтобы достичь желаемого эффекта, вам необходимо убедиться, что все ваши дочерние окна создаются как подчиненные главному окну, иначе они могут продолжать функционировать даже после закрытия главного окна.