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

标签 c++ qt menu shortcut

enter image description here

这样,我想打印快捷方式文本。

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

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

因为我通过使用KeyAction类来处理快捷方式。

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

仅打印快捷方式文本有什么解决方案吗?

还是我必须设置“새파일(&N)\ t \ tCtrl + N”之类的文本?

我想打印文本对齐。

谢谢你的帮助。

最佳答案

根据TFry的注释进行回答。

照常设置快捷方式(使用QAction::setShortcut)。
为防止触发操作并在按下快捷键时停止事件传播,您必须在顶层窗口(通常是ShortcutOverride)中接受所有MainWindow -events:

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);
}

关于c++ - 如何在不设置快捷方式的情况下在菜单栏上打印快捷方式文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61285804/

相关文章:

c++ - 使用 WinCE7 平台构建器在 Visual Studio 2008 中为 WinCE7 在 Visual C++ 中创建 Winforms

python - numpy python openCv 重新映射

c++ - MDI 窗口和 QSignalMapper 基础知识

c++ - QT undefined reference 错误(Qextserialport)

html - CSS 样式消失了

c++ - 如何镜像矩阵的其中一个维度?

c++ - 在 macOS 上以编程方式检索崩溃报告

ios - 如何像Android一样在iOS中实现菜单

jquery - 单击同一按钮的动画菜单

c++ - 如何将字符串作为二进制文件写入文件?