Python 从一个tkinter窗口打开另一个tkinter窗口

Python 从一个tkinter窗口打开另一个tkinter窗口,python,tkinter,Python,Tkinter,我在gui.py文件中有一个Tkinter窗口。按下空格键后,我想打开另一个Tkinter窗口,该窗口用于通过imageinput.py文件从用户处获取输入 因此,我编写了执行imageinput.py的run函数的代码 def keyPressed(event, data): if event.keysym == "space": image_run() 当我运行此操作时,会出现以下错误: 以这种方式打开另一个Tkinter窗口的最佳方式是什么?在不了解更多代码的情况下,您可以创建一

我在gui.py文件中有一个Tkinter窗口。按下空格键后,我想打开另一个Tkinter窗口,该窗口用于通过imageinput.py文件从用户处获取输入

因此,我编写了执行imageinput.py的run函数的代码

def keyPressed(event, data):
    if event.keysym == "space": image_run()
当我运行此操作时,会出现以下错误:


以这种方式打开另一个Tkinter窗口的最佳方式是什么?

在不了解更多代码的情况下,您可以创建一个新的“顶级”小部件,并像使用原始根顶级窗口(
root=Tkinter.Tk()
)一样使用该小部件作为您创建的任何小部件层次结构的父级。所以

def image_run(parent, *args, **kwargs):
    top = tkinter.Toplevel(parent)
    top.transient(parent)        
    canvas = tkinter.Canvas(top, ...)
    :
    :

希望有帮助

在不了解更多代码的情况下,您可以创建一个新的“顶级”小部件,并使用该小部件,就像使用原始根顶级窗口(
root=tkinter.Tk()
)作为您创建的任何小部件层次结构的父级一样。所以

def image_run(parent, *args, **kwargs):
    top = tkinter.Toplevel(parent)
    top.transient(parent)        
    canvas = tkinter.Canvas(top, ...)
    :
    :

希望有帮助

使用
tk.Toplevel()
打开第二个tkinter窗口。如果您需要代码方面的帮助,您必须向我们显示一个错误。错误表明您对图像有问题-这可能是由垃圾收集器从内存中删除PhotoImage的常见问题-请参阅有关使用
tk.Toplevel()
打开第二个tkinter窗口的说明。如果您需要代码方面的帮助,您必须向我们显示一个错误。错误表明您有图像问题-这可能是由垃圾收集器从内存中删除PhotoImage的常见问题-请参阅