2008-11-21 15 views

Respuesta

4

Tiene razón, esto obviamente debe ser una API publicada y debe destacarse en la documentación. No tal suerte.

  • Si está utilizando uno de los controles nativos de la plataforma, el teclado virtual Se desplegará automáticamente cuando el usuario accede a un control de edición de texto.

  • Si está haciendo un control personalizado, debe ocuparse de su selección agregando su propia versión del teclado virtual: haga un nuevo control personalizado similar al de la ventana de edición de texto, control de ventana con el derecho botones. Reutilízalo en todas tus aplicaciones. Un día, Nokia se dará cuenta de que cometió un error obvio y pondrá la API a disposición del público.

  • Si está utilizando el acceso directo a la pantalla, no esperaría exactamente que el teclado virtual de aspecto s60 salga de ninguna parte. De nuevo, dibuje una imagen agradable en la pantalla para que el usuario sepa dónde están las teclas virtuales y reaccione a los eventos del puntero. Esto será menos reutilizable a menos que genere una buena cantidad de personalización (fondo, bordes de los botones ...).

EDITAR: Nokia puede confiar en Qt para solucionar este problema. Esperaría que el control sea parte de la versión 4.7 actual de Qt.

3

Cambiando el enfoque con un QLineEdit dentro del área de desplazamiento cinético personalizado, he tenido un problema similar (cómo abrir el teclado virtual manualmente). Entonces, me encontré, esto funciona, obviamente, en Qt 4.6.3 C7 en un teléfono Symbian^3:

// lineEdit is an instance of QLineEdit  
QApplication::postEvent(lineEdit, new QEvent(QEvent::RequestSoftwareInputPanel)); 

Antes de eso, también tenía que publicar un evento QEvent :: focusIn a ese mismo LineEdit, de lo contrario el QLineEdit no actualizó el contenido del teclado virtual.

Espero que esto sea útil. Perdí horas.

1

Gracias tihi, consejo muy útil! También está el evento "cerrar el teclado virtual" que se puede activar:

QApplication::postEvent(lineEdit, new QEvent(QEvent::CloseSoftwareInputPanel)); 
Cuestiones relacionadas