Да, действительно.
Если я правильно понимаю, ты делаешь контекстное меню через Action. То есть, вначале создаешь пункты меню в виде объектов QAction (пусть они даже создаются в конструкторе твоего виджета), а затем в методе типа on_customContextMenuRequested() из этих Action ты конструируешь меню (как это сделано в примерах), примерно так
C++ (Qt)
void mywidget::on_customContextMenuRequested(const QPoint &pos)
{
// Конструирование меню
QMenu menu(this);
menu.addAction(action_1);
menu.addAction(action_2);
menu.addAction(action_3);
// Включение отображения меню на экране
menu.exec(recordview->viewport()->mapToGlobal(pos));
}
И несмотря на то, что Action описаны в конструкторе виджета, и им назначены шорткаты, шорткаты эти не работают. Это происходит видимо потому, что Action существуют в виджете просто как объекты, но объекты эти никуда не вставлены (т.к. addAction() вызывается только при открытии контекстного меню).
Но я попробовал сделать контекстное меню сразу в конструкторе, то есть оно в виджете существует все время, только скрыто. Получается, что Action уже вставлены в меню, но это тоже не помогает. Тут видимо уже играет роль то, что меню скрыто, а для скрытого меню шорткаты недоступны.
Дальше мои мысли кончаются, и я тоже хочу узнать у гуру, можно ли вызывать шорткаты для Action, которые принадлежат контекстному меню.