Python Can';t从Tkinter帧调用函数

Python Can';t从Tkinter帧调用函数,python,tkinter,Python,Tkinter,我不知道如何从tkinter框架调用函数。我正在尝试实现一种方法,以防无意中关闭应用程序时保护应用程序中的信息。有人能帮忙吗 from tkinter import Tk, Frame, Label class MyApp(Tk): def __init__(self, *args, **kwargs): Tk.__init__(self, *args, **kwargs) container = Frame(self) contai

我不知道如何从tkinter框架调用函数。我正在尝试实现一种方法,以防无意中关闭应用程序时保护应用程序中的信息。有人能帮忙吗

from tkinter import Tk, Frame, Label

class MyApp(Tk):
    def __init__(self, *args, **kwargs):  
        Tk.__init__(self, *args, **kwargs)
        container = Frame(self)
        container.pack(side="top", fill="both", expand = True)

        frame = StartPage(container, self)
        frame.grid(row=0, column=0, sticky='nsew')
        frame.tkraise()

class StartPage(Frame):
    def __init__(self, parent, controller):
        Frame.__init__(self,parent)
        Label(self, text="close this window from the X in the corner").grid(row=1,column=1)

    def Stop(self):                                    
        print('exiting')

app = MyApp()

if __name__=='__main__':
    try:
        app.mainloop()
    finally:
        OpenApp = MyApp()
        OpenClass = StartPage(parent, OpenApp)
        OpenClass.Stop()
关闭tkinter时,我无法调用“停止”功能。我得到一个名称错误:未定义名称“parent”。我应该用什么来代替“家长”? 如果使用 协议(“WM_删除_窗口”,root.iconify) 类中的函数仍需调用。

尝试更改行:

OpenClass = StartPage(parent, OpenApp)
致:


要求您传递
parent
参数,您正试图传递一个从未创建的名为
parent
的引用


请注意,在tkinter应用程序中,父项通常是另一个包含子项的小部件。

显示生成错误的代码,并显示实际和完整的错误。现在,您的代码中没有任何内容正在调用
Stop
。当tkinter框架关闭时,按下其角落中的“X”键,就会启动“停止”。我正在尝试实现一种方法,在无意中关闭应用程序时保护应用程序。请显示您已尝试的内容。以下链接是否回答了您的问题?在类外调用函数没有什么特别的。与任何类一样,您需要对实例的引用。Tkinter不需要任何不同寻常的东西。请注意,创建MCVE非常有帮助,因为我花了一分钟的时间才看到编辑后OP的问题。@qode没问题。不过,有关处理关闭事件的更多标准方法,请参见。
OpenClass = StartPage(OpenApp, OpenApp)
class StartPage(Frame):
        def __init__(self, parent, controller):