2009-10-28 5 views
3

Je construis une application utilisant Qt sur la plate-forme Symbian/S60 et je me demandais s'il y avait une fenêtre de notification standard que je pourrais utiliser pour transmettre des messages aux utilisateurs. En utilisant d'autres plateformes comme exemples, je cherche quelque chose d'équivalent à la méthode alert() de Javascript ou aux méthodes NSRunAlert * de Cocoa.Notifications standard ou styles d'alerte dans Symbian (Qt/S60)?

S'il n'y a pas d'équivalent natif Symbian/S60, y a-t-il quelque chose dans l'espace Qt que je devrais regarder? QMessageBox n'a pas semblé fonctionner comme je pouvais m'attendre.

Répondre

4

Vous pouvez utiliser la classe RNotifier de tout code Symbian (et de Qt aussi). Cette classe peut afficher des notifications même à partir de programmes sans fenêtre, comme les serveurs Symbian. Il est simple à utiliser:

RNotifier notifier; 
    User::LeaveIfError(notifier.Connect()); 
    TInt buttonVal; 
    TRequestStatus lStatus; 
    notifier.Notify(_L("First line of notification"), _L("Second line of notification"), _L("Left button text"), _L("Right button text"), buttonVal, lStatus); 
    User::WaitForRequest(lStatus); 
    notifier.Close(); 

Après utilisateur :: WaitForRequest (lStatus) terminé, vous pouvez vérifier la valeur de buttonVal savoir quel bouton a été pressé. Il est réglé sur: 0, si le bouton gauche est sélectionné; 1, si le bouton droit est sélectionné.

Espérons que cela aide.

+0

J'ai fini par utiliser une variation de cette approche, mais merci pour la réponse néanmoins. :-) –

5

Apparemment, il n'y a pas moyen d'accéder aux fenêtres de notification natives à partir de Qt. J'ai trouvé ce qui suit:

//Create warning message box 
QMessageBox::warning(0,"Warning", "Warning message text"); 
//Create information message box 
QMessageBox::information(0, "Information", "Information message text"); 
//Create critical message box 
QMessageBox::critical(0, "Critical", "Critical message text"); 

Toujours pas ce que je cherche, mais il devra faire.

Source: Nokia