如何在不设置快捷方式的情况下在菜单栏上打印快捷方式文本?

how to print shortcut text on menu bar without setting shortcut?

像这样,我要打印快捷方式文字

但我不想使用这样的代码:

this->newAction->setShortcut(QKeySequence::New);

因为我使用 KeyAction 类.

处理快捷方式

如果我使用 setShortcut(),我的 KeyAction 类 将被忽略。

有没有只打印快捷文本的解决方案?

或者我是否必须设置像“새파일(&N)\t\tCtrl + N”这样的文本?

我想打印对齐的文本。

感谢您的帮助。

根据 TFry 的评论回答。

像往常一样设置快捷方式(使用QAction::setShortcut)。 为防止触发操作并在按下快捷方式时停止事件传播,您必须接受顶级 window 中的所有 ShortcutOverride 事件(即通常为 MainWindow) :

MainWindow::MainWindow(...)
{
   installEventFilter(this);
}

bool MainWindow::eventFilter(QObject* o, QEvent* e)
{
  if (o == this && e->type() == QEvent::ShortcutOverride) {
    e->accept();
  }
  return QMainWindow::eventFilter(o, e);
}