在不关闭整个流程的情况下关闭Panda3d应用程序



编写了一个小型应用程序,该应用程序由一个QT GUI模块组成,该模块反过来启动一个从ShowBase类继承的对象。

问题是,如果我关闭Panda应用程序,ShowBase类会调用finalizeExit(),从而通过调用exit关闭整个进程。

如果我通过重写userExit()来避免调用finalize方法,那么应用程序的资源不会被删除,任务管理器也会继续工作。

有没有一种方法可以在不呼叫出口的情况下关闭熊猫应用程序?

至少在最近的Panda开发版本中,您应该能够调用base.destroy()来关闭ShowBase并卸载(大部分)资源。当主窗口关闭时,您仍然需要覆盖finalizeExit()才能不退出应用程序。

也许我的答案来得很晚,但它可能会帮助其他人。我也有同样的问题,但Tkinter不是QT。

您可以在调用应用程序的类之后进行操作

app = my_class(...)
try: app.run()
except SystemExit: base.destroy()

这控制panda如何关闭应用程序。在这种情况下,它根本不会调用finalizeExit()。destroy()将销毁打开的窗口。

相关内容

最新更新