Я хотел бы создать иконку в трее для моего приложения для отображения главного окна при нажатии на него после того, как первое было свернуто.
Вот реализация:
TrayIcon.h:
class TrayIcon_t : public QSystemTrayIcon {
Q_OBJECT
public:
TrayIcon_t();
};
TrayIcon.cpp:
TrayIcon_t::TrayIcon_t() {
setIcon(QIcon(":/icons/tray.ico"));
}
Main.cpp (только часть, больше нет кода, связанного с трей):
TrayIcon_t *tray = new TrayIcon_t;
QObject::connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), &MainWindow, SLOT(show()));
tray->show();
В то время как на LXDE он работает просто отлично, на рабочем столе MATE он в основном открывает небольшое меню (я думаю), не содержащее элементов, и не излучает сигнал, необходимый для отображения в главном окне. Смотрите эту картинку.
Как вы думаете, я столкнулся с ошибкой в Qt 5.7.0?
Оказывается, это ошибка. Сообщил об этом и стал принят на:
https://bugreports.qt.io/browse/QTBUG-55717
Других решений пока нет …