Всем привет, завис на простой вещи.
Все никак не могу понять, как грамотно реализовать закрытие программы только через трей/меню
(чтобы при нажатии на крестик окна, закрытие заменялось сворачиванием, а из трея/меню оно закрывалось)?
Понятно, что надо переопределять функцию QWidget::closeEvent(). Но тут только лишь отлавливается само событие, а не источник вызова. Поискал в классе QCloseEvent (класс передаваемого параметра) возможность определения откуда вызвано закрытие программы (от самого окна, пункта меню окна, или из пункта контекстного меню трея), но не нашел ничего путного. Есть конечно "самый простой" вариант - это добавить дополнительную переменную в класс окна, которая будет определять источник вызова окна, а есть ли способ аккуратней и грамотней?!
З.Ы.
Видел такую возможность во многих программах, но никак не понял реализации этой фишки.