QT - controlar teclado en QT 5.5

   
Vista:

controlar teclado en QT 5.5

Publicado por Carlos (3 intervenciones) el 20/12/2017 15:55:59
Buenos dias mi nombre es Salgado estoy interesado en hacer una aplicacion en QT 5.5 C++ que escriba en un txt letras y numeros asi como tambien incluso controlarlo Ej (alt+F4, ctr+F9, ENTER, BACKSPACE, DEL, etc). He leido la ayuda de QT y pude encontrar una clase llamada QTEST pero solo me deja introducir caracteres en qwidgets del mismo programa y no me sirve para terceros. Gracias de por la atencion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

controlar teclado en QT 5.5

Publicado por juanki (94 intervenciones) el 20/12/2017 18:54:21
Hola

No entendí muy bien. ¿Quieres controlar qué tecla se pulsa?. No sé si lo que buscas es la clase QKeyEvent, un ejemplo:

En el archivo .h de tu mainwindows la declaración:

1
2
protected:
    void keyPressEvent(QKeyEvent *event);

Y en el .cpp una función muy sencilla, si se pulsa ESC se cierra la ventana, si no, se imprime en la consola la tecla que se pulsó:

1
2
3
4
5
6
7
8
9
10
11
void MainWindow::keyPressEvent(QKeyEvent *event)
{
    switch(event->key()) {
    case Qt::Key_Escape: // si se pulsa ESCAPE se cierra la ventana
        close();
        break;
    default: // imprimir tecla pulsada
        qDebug() << "Código: " << event->key() << "\nCarácter: " << event->text();
        QMainWindow::keyPressEvent(event);
    }
}

Puedes ver los códigos de las teclas de Qt en la documentación:
http://doc.qt.io/qt-5/qt.html#Key-enum

Si tu duda es otra, explícalo más claramente, que a penas entendí nada.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

controlar teclado en QT 5.5

Publicado por Carlos (3 intervenciones) el 20/12/2017 19:11:48
Un saludo juanki lo que me explicas es para captar una tecla del teclado, pero lo que quiero hacer es totalmente lo contrario, me explico, quiero correr mi programa y luego abrir un editor de textos Ej un .TXT y que mi programa en QT funcione en backgrown como si yo estuviera escribiendo fisicamente en el teclado una secuencia determnada, Un ejemplo seria que abras un .txt y abras el teclado en pantalla de windows y escribas el cual introduce las teclas por software. Eso es lo que necesito hacer y utilizo Window 10 con QT 5.5

Muchas Gracias espero me puedas ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

controlar teclado en QT 5.5

Publicado por juanki (94 intervenciones) el 21/12/2017 00:43:46
Hola

Ves como no había entendido XD

"Escuchar" desde tu programa lo que se está tecleando en otro programa, la verdad, ni idea, supongo que tendrás que mirarte la API de windows, pero ni idea.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad