2010-06-08 22 views
1

J'essaie d'utiliser QSystemTrayIcon pour afficher un message après l'initialisation de l'application. Ma boucle principale appelle immédiatement la fonction Init() à l'aide d'une minuterie monocoup zéro période:QSystemTrayIcon n'affiche pas le message

int r; 
QTimer::singleShot(0, &app, SLOT(Init())); 
r = app.exec(); 
return r; 

Après quelques étapes d'initialisation, et la création d'TRAYICON dans MyApplication :: SetupTrayIcon(), où l'icône appropriée apparaît sans problème, j'appelle une autre fonction dans la classe MyApplication où je le fais.

QApplication::processEvents(); 
_pTrayIcon->showMessage("TITLE", "TRAY TEXT SAMPLE"); 

J'ai essayé de faire l'instance QSystemTrayIcon un enfant de QApplication (MyApplication qui est une sous-classe), un enfant de QWidget, et rien ne se passe. Même sans aucun parent, rien ne se passe.

Système est Windows XP SP3, rien hors de ce monde.

Répondre

4

Résolu.

Explorer.exe a des astuces de ballon de la barre d'état système désactivées via le registre système (HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced \ EnableBalloonTips a été défini sur 0).

+0

Les petites choses produisent plus gros ... merci pour le conseil :) – Joel