Qt QMainWindow でユーザーの非アクティブを検出するにはどうすればよいですか? これまでの私の考えは、特定の値が渡された場合にアプリケーションをロックするカウンターをインクリメントする QTimer を用意することです。マウスまたはキーの操作では、タイマーを 0 に戻す必要があります。ただし、リセットされる入力イベントを適切に処理する方法を知る必要があります。私は再実装することができます:
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)
...しかし、QMainWindow 内のすべてのウィジェットのイベント ハンドラーは、これらのコントロールで発生するイベントが QMainWindow に到達するのを妨げませんか? ユーザーアクティビティをそのまま検出するためのより良いアーキテクチャはありますか?