Я полагаю, что вы слышали об installEventFilter.
вам необходимо установить фильтр событий для объекта, для которого вы хотите получать события (например, Contextmenu).
установить фильтр событий исоздайте метод фильтра событий для обработки события так, как вы хотите.