как закрыть текущее окно, если я не вижу tk.Toplevel (root) из метода, в котором я нахожусь?
Вот небольшой пример того, что я имею в виду:
file1.py:
import Tkinter as tk
import file2
class ExampleMain:
def __init__(self, root):
self.mainFrame = tk.Frame(root)
...
tk.Button(self.mainFrame, command=self.button_pressed)
...
def button_pressed(self):
self.whatever = tk.Toplevel(root)
self.app = file2.ExampleNotMain(self.whatever)
if __name__ == '__main__':
root = tk.Tk()
app = ExampleMain(root)
root.mainloop()
file2.py:
import tkinter as tk
class ExampleNotMain:
def __init__(self, root):
self.frame = tk.Frame(root)
...
tk.Button(self.frame, command=self.close_window)
...
def close_window(self):
=> missing_command_here
В этом примере я хотел бы закрыть второе созданное окно (и сохранить первое).
Если весь код находится в одном файле, что-то вроде
self.whatever.destroy()
сделает это.Моя проблема в том, что я не вижу объект из первого файла, а команда находится во втором файле.
Я нашел что-то вроде
execfile("file2.py")
, но мне не нравится это решение.
Есть ли лучший способ решить мою проблему?
Я бы очень хотел помочь вам.Заранее спасибо.