Как в QT отследить бездействие пользователя?
Для Qt есть дополнительная библиотека - Qxt, в тестах есть приложение, демонстрирующее как раз то, что вам нужно: в заголовок окна выводится время простоя, когда юзер двинет мышкой или нажмет клавишу или совершит ещё какое-либо действие - счетчик сбрасывается. 
Можете использовать Qxt в своём проекте (доступны версии под Mac OS, Win и Linux), или выдернуть реализацию функции idleTime() для различных систем:Win, X11 (GNU/Linux), Mac OS.
Скачать Qxt можно здесь.
У всех наследников QObject есть методы eventFilter и installEventFilter. Просто у того объекта, за которым хочешь следить вызываешь installEventFilter и передаешь ему указатель на объект, который будет за ним следить (возможно просто указатель на себя):
qt-project.org/doc/qt-4.8/qobject.html#eventFilter