¿Cómo puedo detectar la inactividad del usuario en Qt QMainWindow? Mi idea hasta ahora es tener un QTimer que incremente un contador, que, si se pasa un cierto valor, bloquea la aplicación. Cualquier interacción con el mouse o la tecla debería establecer el temporizador en 0. Sin embargo, necesito saber cómo manejar adecuadamente los eventos de entrada que se restablecen; Puedo volver a implementar:¿Cómo detectar la inactividad del usuario en Qt?
virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
... pero no a los controladores de eventos de todos los widgets en la QMainWindow prevenir los eventos que ocurren en los controles de llegar a la QMainWindow de? ¿Hay una mejor arquitectura para detectar la actividad del usuario tal como es?
Funciona muy bien, gracias. Terminé emitiendo una señal con el parámetro obj donde tienes "resetMyTimer", y cada ventana adjuntó la señal a su ranura de reinicio del temporizador, que verifica si un widget en la ventana * that * generó el evento para que cada ventana se bloquee de forma independiente de los otros –
El evento solo parece enviarse a eventFilter() si ninguno de los widgets secundarios maneja dicho evento. ¿Hay alguna manera de asegurar que todos los eventos vayan a este filtro antes de ser procesados en otro lugar? – KyleL