In the application I've implemented there is a case where a QAction associated with a widget has the same shortcut as a different QAction associated with a menu item for the same user effect. The reason for this is irrelevant (has to do with needing distinct slots handling the QAction triggered signals in the different contexts). To avoid the ambiguous shortcut problem I employ setShortcutContext(Qt::WidgetWithChildrenShorcut) applied to the QAction used in the more restrictive context. This enables the "lower level" widget to which the restricted QAction has been applied to consume the shortcut key event and prevent it from "bubbling up" to the menu item with the other QAction that has the same shortcut, yet still allows shortcut key events generated "above" the lower level widget to reach the "higher level" menu item's QAction.