我不确定这是怎么回事,但我认为是在我希望应用程序突然关闭时(例如,当用户在 SSL 错误后选择不继续时,应用程序将关闭)exit(EXIT_FAILURE);
。
我注意到有多个系统托盘图标,每次运行我的应用程序时都有一个。
会exit(EXIT_FAILURE);
导致这个吗?无论如何要正确处理系统托盘对象吗?
谢谢
我不确定这是怎么回事,但我认为是在我希望应用程序突然关闭时(例如,当用户在 SSL 错误后选择不继续时,应用程序将关闭)exit(EXIT_FAILURE);
。
我注意到有多个系统托盘图标,每次运行我的应用程序时都有一个。
会exit(EXIT_FAILURE);
导致这个吗?无论如何要正确处理系统托盘对象吗?
谢谢
如果您想退出,最好让 Qt 对其进行处理,以便它可以自行清理。
从代码中的任何位置调用 qApp->quit() 或 QApplication::quit()。(qApp 是全局的)您也可以使用 exit()。
#include <QApplication>
访问。
你可以通过'EXIT_FAILURE'来退出():
#include <QApplication>
QApplication::exit(EXIT_FAILURE)
如果您不使用 Qt GUI,QCoreApplication 具有相同的功能:
#include <QCoreApplication>
QCoreApplication::exit(EXIT_FAILURE)
请注意,exit() 和 quit() 不会立即关闭您的程序,而是结束您对 application.exec() 的原始调用。在某些平台上,在某些情况下, exec() 不会返回,而在其他平台上会。
quit() 和exit() 的区别在于,quit() 是信号和槽的槽,而quit() 只是调用exit(0)。