2

我不确定这是怎么回事,但我认为是在我希望应用程序突然关闭时(例如,当用户在 SSL 错误后选择不继续时,应用程序将关闭)exit(EXIT_FAILURE);

我注意到有多个系统托盘图标,每次运行我的应用程序时都有一个。

在此处输入图像描述

exit(EXIT_FAILURE);导致这个吗?无论如何要正确处理系统托盘对象吗?

谢谢

4

1 回答 1

2

如果您想退出,最好让 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)。

于 2013-03-06T18:38:57.720 回答