Я хотел бы создать значок в трее для моего приложения, чтобы отображать главное окно при нажатии на него после того, как первое было сведено к минимуму.Нажав на QSystemTrayIcon, вы увидите пустое контекстное меню на рабочем столе Mate.
Вот реализация:
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 он в основном открывает небольшое меню (я думаю), не содержащее элементов и не излучающее сигнал, требуемый в главном окне, которое будет показано. See this picture.
Как вы думаете, я столкнулся с ошибкой в Qt 5.7.0?