Làm thế nào tôi có thể phát hiện người dùng không hoạt động trong Qt QMainWindow? Ý tưởng của tôi cho đến nay là có một QTimer tăng bộ đếm, nếu một giá trị nào đó được truyền, hãy khóa ứng dụng. Bất kỳ tương tác chuột hoặc phím nào nên đặt bộ hẹn giờ về 0. Tuy nhiên, tôi cần biết cách xử lý đúng các sự kiện đầu vào được đặt lại; Tôi có thể triển khai lại:Làm thế nào để phát hiện người dùng không hoạt động trong 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)
... nhưng sẽ không xử lý sự kiện trong tất cả các tiện ích trong QMainWindow? Có kiến trúc nào tốt hơn để phát hiện hoạt động của người dùng không?
Hoạt động tuyệt vời, cảm ơn. Tôi đã phát ra tín hiệu với thông số obj nơi bạn có "resetMyTimer" và mỗi cửa sổ đính kèm tín hiệu vào khe hẹn giờ đặt lại, kiểm tra xem tiện ích trên * cửa sổ * đã tạo sự kiện sao cho mỗi cửa sổ khóa độc lập của những người khác. –
Sự kiện này dường như chỉ được gửi đến eventFilter() nếu không có tiện ích con nào xử lý sự kiện đó. Có cách nào để đảm bảo tất cả các sự kiện đi tới bộ lọc này trước khi được xử lý ở nơi khác không? – KyleL