Можно наследовать виджет и переопределить виртуальную функцию
Можно подобно, через QAction
Можно прицепить меню, к уже существующему виджету, не наследуя его
Есть еще вариант того же, но с обработчиком контекстного меню, через сигнал
В приведенном ниже примере, в классе TabWidget (наследнике от QTabWidget) устанавливается контекстное меню на ярлыки вкладок (на элемент QTabBar)
Можно подобно, через QAction
Можно прицепить меню, к уже существующему виджету, не наследуя его
Есть еще вариант того же, но с обработчиком контекстного меню, через сигнал
В приведенном ниже примере, в классе TabWidget (наследнике от QTabWidget) устанавливается контекстное меню на ярлыки вкладок (на элемент QTabBar)