Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 额外的Tkinter GUI弹出窗口_Python_User Interface_Tkinter - Fatal编程技术网

Python 额外的Tkinter GUI弹出窗口

Python 额外的Tkinter GUI弹出窗口,python,user-interface,tkinter,Python,User Interface,Tkinter,我已经编写了一系列生成GUI的代码。现在,每当我运行代码时,它都会生成主GUI窗口和一个附加的小窗口,其中没有任何内容。当我关闭较小的窗口时,较大的主窗口消失。 现在我已经阅读了其他有类似问题的文章,但是我还不能确定代码中的错误在哪里 请帮忙:) 后续问题:我如何添加背景图像而不是灰色无聊的颜色 这是它的样子。 从window=tk.Toplevel()中删除Toplevel。我没有可用的python2 dist——我使用的是python3,但当我从代码中删除TopLevel时,它只显示一个窗

我已经编写了一系列生成GUI的代码。现在,每当我运行代码时,它都会生成主GUI窗口和一个附加的小窗口,其中没有任何内容。当我关闭较小的窗口时,较大的主窗口消失。 现在我已经阅读了其他有类似问题的文章,但是我还不能确定代码中的错误在哪里

请帮忙:)

后续问题:我如何添加背景图像而不是灰色无聊的颜色

这是它的样子。


window=tk.Toplevel()
中删除
Toplevel
。我没有可用的python2 dist——我使用的是python3,但当我从代码中删除
TopLevel
时,它只显示一个窗口。所以,蟒蛇3的方式是

import tkinter as tk

#This creates the main window of an application
window = tk.Tk()



#Start the GUI
window.mainloop()

我认为唯一的区别是python2的tkinter实际上是tkinter(正如您已经做的那样)。

每个tkinter应用程序只需要一个
Tk
类的实例。在您的代码中,您不会创建一个,但
mainloop
似乎会自动创建一个,它仍然会被创建(请参见下面的注释),即使您以后无法(轻松)参考它

如果您将使用现有的附加
顶级
小部件:

root = tk.Tk()
root.withdraw() # You can go root.iconify(), root.deiconify() later if you
                # want to make this window visible again at some point.
# MAIN CODE HERE
root.mainloop()
如果不是简单地更换:

window = tk.Toplevel()
与:


注意:还要注意,如果您使用IDLE工作,请记住它会创建自己的
Tk
对象,这可能会隐藏这样一个事实,即您的应用程序在单独使用时将需要一个对象。

如果删除它,我会收到一个错误,说明模块不可调用。是的,我被迫在这个任务中使用python2,尽管我主要使用python2。在py2 imo上使用tkinter是一件非常痛苦的事情。是的,这是因为你是如何导入它的。如果您先“将Tkinter作为tk导入”,然后再执行“window=tk.tk()”操作,它会起作用吗?此外,我已经编辑了我的答案,以便我的导入更接近您的答案(大写除外)。希望有帮助!:)将window=tk.Toplevel()更改为tk.tk()完成了工作。谢谢=)创建根窗口的不是
mainloop
。第一次创建小部件时,如果不存在根窗口,将创建一个根窗口。谢谢您的回答。我相信另一个,因为他是第一个:p,但你们得出了相同的结论。谢谢=)
window = tk.Toplevel()
window = tk.Tk()