Notifications standard ou styles d'alerte dans Symbian (Qt / S60)?
-
08-07-2019 - |
Question
Je construis une application utilisant Qt sur la plate-forme Symbian / S60 et je me demandais s'il existait une fenêtre de notification standard que je pouvais utiliser pour transmettre des messages aux utilisateurs. À l'aide d'autres exemples, je recherche quelque chose d'équivalent à la méthode alert () de Javascript ou aux méthodes NSRunAlert * de Cocoa.
S'il n'y a pas d'équivalent Symbian / S60 natif, y a-t-il quelque chose dans l'espace Qt que je devrais examiner? QMessageBox n'a pas semblé fonctionner comme prévu.
La solution
Vous pouvez utiliser la classe RNotifier à partir de n’importe quel code Symbian (et aussi de Qt). Cette classe peut afficher des notifications même à partir de programmes sans fenêtre, tels que des serveurs Symbian. C'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();
Une fois que User :: WaitForRequest (lStatus) est terminé, vous pouvez inspecter la valeur de buttonVal pour savoir quel bouton a été enfoncé. Il est réglé sur: 0 si le bouton de gauche est sélectionné; 1, si le bouton droit est sélectionné.
J'espère que cela vous aidera.
Autres conseils
Apparemment, il n’ya aucun moyen d’accéder aux fenêtres de notification natives à partir de Qt proprement dit. 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");
Ce n’est toujours pas ce que je cherche, mais il faudra le faire.
Source: Nokia