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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top