QSystemTrayIcon не отображается

Есть похожие вопросы на этот, но они не решили мою проблему.

У меня просто есть простой класс MainWindow, который появляется при запуске. Конструктор содержит этот код:

QWidget* centralWidget = new QWidget(this);
this->setCentralWidget( centralWidget );

QSystemTrayIcon a;
a.setIcon( QIcon::fromTheme("edit-undo") );
a.setVisible( true );
a.show();
a.showMessage( tr( "Title" ), tr( "Message - Test" ) );

Это просто окно с центральным виджетом на потом. Я просто хотел проверить QSystemTrayIcon, но он не отображается. Иконка на 100% правильная, так что проблема не в ней.

Кто-нибудь знает, что случилось? Я работаю в системе Linux (Ubuntu 12.04).


person Davlog    schedule 10.10.2013    source источник


Ответы (1)


QSystemTrayIcon не является указателем.

Поэтому он уничтожается, как только вы покидаете тело конструктора.

Решение: сделайте закрытый указатель членом вашего класса и правильно обработайте его уничтожение при выходе.

person Polentino    schedule 10.10.2013
comment
Ничего страшного, продолжайте тренироваться ;) - person Polentino; 10.10.2013