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