Python 从主窗口校准新脚本后,主窗口不会关闭

Python 从主窗口校准新脚本后,主窗口不会关闭,python,wxpython,subprocess,Python,Wxpython,Subprocess,我正在学习python和使用wxpython的GUI模型,因为我是编程新手,每次都会遇到困难。 我的问题是我有一个带有两个按钮的GUI(主窗口),当用户单击按钮1时,它会打开子窗口(单独的python脚本),我想在打开子窗口之前关闭或销毁主窗口 self.Destroy() subprocess.call("python newframe.py",shell=True) #It will not close main window 我试图做的是什么错误,请解

我正在学习python和使用wxpython的GUI模型,因为我是编程新手,每次都会遇到困难。 我的问题是我有一个带有两个按钮的GUI(主窗口),当用户单击按钮1时,它会打开子窗口(单独的python脚本),我想在打开子窗口之前关闭或销毁主窗口

      self.Destroy()
      subprocess.call("python newframe.py",shell=True)
      #It will not close main window
我试图做的是什么错误,请解释什么是正确的方法

寻求建议,谢谢。 对不起,我说的是英语。

子进程。call()
等待子进程退出。->直到子程序退出,按钮回调才会返回。这将使主窗口保持关闭状态。使用不等待子进程的
subprocess.Popen()

self.Destroy()
subprocess.Popen('python newframe.py', shell=True)

您不应该关闭主框架,否则实际上会退出应用程序。相反,您应该隐藏主帧,只显示子帧。然后,当关闭子帧时,可以重新显示主帧。我个人认为使用Pubsub是实现这一点最简单的方法。以下是一个指向教程的链接,该教程演示了如何执行此操作:

在实例化子帧或调用GetTopWindow()或GetParent()之类的函数时,也可以传递对主帧的引用,但我确实建议使用Pubsub