gpt4 book ai didi

python - 为什么这个简单的 Tkinter 代码会创建两个顶级窗口?

转载 作者:行者123 更新时间:2023-12-02 01:24:11 25 4
gpt4 key购买 nike

考虑这个非常简单的代码片段:

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()

但是我错了。我也想不出理由。

有什么帮助吗?

最佳答案

你说的是

   GUI()
GUI().top_level_window.mainloop()

这是两个窗口,因为您调用了该类两次,例如 Frost Dream这么说你所需要做的就是删除 GUI()

import tkinter as tk

class GUI:
def __init__(self):
self.top_level_window = tk.Tk()


GUI().top_level_window.mainloop()

关于python - 为什么这个简单的 Tkinter 代码会创建两个顶级窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75201283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com