【发布时间】:2023-01-22 23:06:46
【问题描述】:
考虑这个非常简单的代码 sn-p:
import tkinter as tk
class GUI:
def __init__(self):
self.top_level_window = tk.Tk()
GUI()
GUI().top_level_window.mainloop()
它在我的屏幕上创建了两个顶级窗口。为什么?
我以为第一个实例会立即被垃圾收集,这样我只会得到一个窗口。 我也尝试过稍微修改过的版本,我确信它会创建两个单独的对象,因此只有一个窗口:
a=GUI()
b=GUI()
b.top_level_window.mainloop()
但是我错了。我想不出一个理由。
有什么帮助吗?
【问题讨论】:
标签: python class tkinter instance