我写了一个 wxWidget gui 应用程序。根据参数,在某些情况下会显示一个 gui,但是当程序以静默模式运行时,它只会执行它的任务而不打开窗口。
我可以false
在我的App::OnInit()
覆盖中返回,应用程序将终止,但退出代码也被设置为表明出现问题。
那么在这种情况下我该如何正确退出呢?如何设置返回码?
我写了一个 wxWidget gui 应用程序。根据参数,在某些情况下会显示一个 gui,但是当程序以静默模式运行时,它只会执行它的任务而不打开窗口。
我可以false
在我的App::OnInit()
覆盖中返回,应用程序将终止,但退出代码也被设置为表明出现问题。
那么在这种情况下我该如何正确退出呢?如何设置返回码?
如果您进入主事件循环,就像您true
从中返回一样YourApp::OnInit()
,您必须退出它以终止应用程序。这是使用ExitMainLoop()完成的,通常在删除最后一个顶级窗口时调用,但也可以手动调用。
如果您根本不进入主循环事件,那么从 wxWidgets 的角度来看,从返回是立即退出程序的最简单方法,但是,正如您已经知道的那样,这表明初始化应用程序失败,false
因此YourApp::OnInit()
默认程序以非零退出代码退出。true
要返回您自己的退出代码,请继续返回OnInit()
并覆盖OnRun(),如果OnInit()
成功则调用 next ,然后简单地从那里返回代码,不做任何事情,尤其是不调用将进入主事件循环的基类版本.
在此处查看文档:http: //docs.wxwidgets.org/2.8/wx_wxappoverview.html
我认为 wxExit 可能是您正在寻找的东西,尽管文档说只在紧急情况下使用它。