因此,我有两个tkinter的东西,一个使用class
,另一个没有类。一切都应该一样,但是当我使用“类”时,它将创建两个窗口,一个是我实际创建的,另一个是我不知道它来自何处的窗口(可能是因为我同时使用了{{1} }和Frame
,但没有类就无法正常工作。
tk.Tk
以上是没有课程的。 下面的一个是带有类的。
import tkinter as tk
window = tk.Tk()
framer = tk.Frame(window)
window.title("Test")
window.geometry("720x480+360+240")
window.mainloop()
答案 0 :(得分:0)
您将获得两个窗口,因为您创建了两个窗口。
第一个窗口是app
,typtolator
的一个实例。此类是tk.Tk
的子类,因此是{em> tk.Tk
。 '
第二个窗口是window
,它是创建tk.Tk
时创建的app
的实例。
解决方案是针对一个或另一个:子类tk.Tk
,或者不创建子类,然后显式创建tk.Tk
的实例。
答案 1 :(得分:0)
正如@Bryan Oakley在他的回答中指出的那样,问题在于您的类是一个tk.Tk
,因为它是从一个类派生的,所以额外的窗口是因为它创建了一个第二个实例tk.Tk
的{{1}}方法。
他遗漏的是正确执行此操作的示例-我认为这很重要-因此如下所示:
__init__()