没有窗口打开时如何退出wxWidget应用程序?

时间:2013-10-08 18:03:41

标签: wxwidgets

我写了一个wxWidget gui应用程序。根据参数的不同,在某些情况下会显示gui,但是当程序以静音模式运行时,它只会在不打开窗口的情况下执行任务。

我可以在false覆盖中返回App::OnInit(),应用程序将终止,但退出代码也会设置为表明出现了问题。

那么如何在这种情况下正确退出呢?我该如何设置返回码?

2 个答案:

答案 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可能就是你要找的东西,虽然文档说它只是在紧急情况下使用它。