¿Notificaciones estándar o estilos de alerta en Symbian (Qt / S60)?
-
08-07-2019 - |
Pregunta
Estoy creando una aplicación usando Qt en la plataforma Symbian / S60 y me preguntaba si había una ventana de notificación estándar que pudiera usar para pasar mensajes a los usuarios. Utilizando otras plataformas como ejemplos, estoy buscando algo equivalente al método alert () de Javascript o los métodos NSRunAlert * de Cocoa.
Si no hay un equivalente Symbian / S60 nativo, ¿hay algo en el espacio Qt que debería mirar? QMessageBox no parecía funcionar como podría esperar.
Solución
Puede usar la clase RNotifier desde cualquier código Symbian (y también desde Qt). Esta clase puede mostrar notificaciones incluso desde programas sin ventanas, como los servidores Symbian. Es simple de usar:
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();
Después de que User :: WaitForRequest (lStatus) se complete, puede inspeccionar el valor de buttonVal para saber qué botón se presionó. Se establece en: 0, si se selecciona el botón izquierdo; 1, si se selecciona el botón derecho.
Espero que esto ayude.
Otros consejos
Aparentemente no hay una manera de acceder a las ventanas de notificación nativas desde Qt propiamente dicho. Encontré lo siguiente:
//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");
Todavía no es lo que estoy buscando, pero tendrá que hacerlo.
Fuente: Nokia