Можно ли снова открыть окно tkinter после его закрытия, код которого записан в отдельном файле Кнопка OnClicking из файла? - PullRequest
0 голосов
/ 08 февраля 2020

имя файла p1.py

import tkinter as tk

def action():
    import p2
root=tk.Tk()
root.title('part1')
root.geometry('200x200+50+50')
btn=tk.Button(root,text='click me',command=action)
btn.pack()
root.mainloop()

имя файла p2.py

После закрытия этого окна я хочу снова открыть его, нажав кнопка click me, но она не открывается после закрытия этого окна.

import tkinter as tk
root=tk.Toplevel()
root.title('part2')
root.geometry('200x200+50+50')
lbl=tk.Label(root,text='Hello everybody \n I have problem',font=("times new roman",20,'bold'))
lbl.pack()

root.mainloop()

1 Ответ

0 голосов
/ 08 февраля 2020

Вот решение для вас:

Module_one:

import tkinter as tk


def action():
    import action_module
    action_module.page_two()


root = tk.Tk()
root.title('part1')
root.geometry('200x200+50+50')

btn = tk.Button(root, text='click me', command=action)
btn.pack()

root.mainloop()

action_module:

def page_two():
    import tkinter as tk

    root = tk.Toplevel()
    root.title('part2')
    root.geometry('200x200+50+50')

    lbl = tk.Label(root, text='Hello everybody \n I think the problem is fixed',
                   font=("times new roman", 20, 'bold'))
    lbl.pack()

    root.mainloop()

Просто поместите код во второй модуль внутри функции. Затем вызовите его внутри функции action первого файла.

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