【发布时间】:2020-04-21 14:04:23
【问题描述】:
这样,我想打印快捷方式文本。
但我不想使用这样的代码:
this->newAction->setShortcut(QKeySequence::New);
因为我使用 KeyAction 类来处理快捷方式。
如果我使用setShortcut(),我的 KeyAction 类将被忽略。
有没有只打印快捷方式文本的解决方案?
或者我是否必须设置像 "새 파일(&N)\t\tCtrl + N" 这样的文本?
我想打印对齐的文本。
感谢您的帮助。
【问题讨论】:
-
我在这个问题上花了相当多的时间,最终发现直接不可能。补救措施是使用
QWidgetAction。您可以随意格式化它们。然而,这并不容易和brings new problems。祝你好运,我期待着有用的答案。 -
您可能希望将
setShortcut()与覆盖关联的快捷方式事件结合使用。见QEvent::ShortcutOverride。 -
@Tfry 如果我理解你的话,我可以尝试忽略传递 QShortcutEvent 的事件。我对吗?谢谢。
-
@chan:没错。我自己已经有一段时间没有这样做了,但是 IIRC,基本过程是:1. 安装事件过滤器,2. 接受快捷方式覆盖事件 3. 现在 Qt 将提供一个常规键事件。