What happens if you set your action autorepeat as false ?
QAction::setAutoRepeat(false)