Qt несколько значков в системном трее
Я не уверен, что делаю это, но я думаю, что это когда я хочу, чтобы приложение закрылось резко (например, когда пользователь решает не продолжать после ошибки SSL приложение закроется), используя метод exit(EXIT_FAILURE);
.
Я заметил, что есть несколько значков в системном трее, по одному для каждого запуска моего приложения.
Будет ли exit(EXIT_FAILURE);
причиной этого? Есть ли в любом случае, чтобы правильно утилизировать объект системного трея?
Спасибо
1 ответ:
Если вы хотите выйти, то, вероятно, лучше всего попросить Qt сделать это, чтобы он мог убирать за собой.
Из любого места кода вызовите qApp - >quit () или QApplication::quit (). (qApp-глобальная) Вы также можете использовать exit ().
#include <QApplication>
чтобы получить доступ.Вы можете передать 'EXIT_FAILURE' в exit():
#include <QApplication> QApplication::exit(EXIT_FAILURE)
Если вы не используете графический интерфейс Qt, QCoreApplication имеет ту же функцию:
#include <QCoreApplication> QCoreApplication::exit(EXIT_FAILURE)
Обратите внимание, что exit() и quit () не закрывают программу сразу, а завершают ее ваш первоначальный вызов в приложение.выполнение(). На некоторых платформах и в некоторых случаях exec() не возвращается, а на других-возвращается.
Разница между quit () и exit () заключается в том, что quit () - это слот для сигналов и слотов, а quit() просто вызывает exit(0).