Я делаю приложение, которому нужно 2 окна.Во-первых, я делаю все стандартные вещи, такие как
root = tk.Tk()
...code...
root.mainloop()
Но для моего второго окна я звоню только
root = tk.Tk()
, и это работает.Если я сделаю
root = tk.Tk()
...code...
root.mainloop()
, это все еще работает.Из чистого любопытства, почему?
Код:
import tkinter as tk
from tkinter.messagebox import showerror
from time import sleep
class DecompilingChecker(object):
def __init__(self):
self.master = tk.Tk()
self.master.withdraw()
self.master.title("Test Program: Update")
def check(self, file, directory):
self.master.update()
self.master.deiconify()
class TestProgram(object):
pass
class GUI(object):
def __init__(self, master):
self.master = master
self.master.title("Test Program")
tk.Text(self.master).grid(row=0, column=0)
self.decompilingchecker = DecompilingChecker()
self.decompilingchecker.check(None, None)
class Bridge(object):
def __init__(self):
self.root = tk.Tk()
GUI(self.root)
def run(self):
self.root.mainloop()
if __name__ == "__main__":
try:
bridge = Bridge()
bridge.run()
except Exception as e:
showerror("Test Program: ERROR!", "An error has occurred!\n{0}".format(str(e)))
``