【问题标题】:Qt Creator - Add keyboard shortcuts to Menu entriesQt Creator - 为菜单条目添加键盘快捷键
【发布时间】:2014-02-12 04:00:43
【问题描述】:

我创建了快捷事件,如:

new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this, SLOT(close()));

但现在我想在这里的菜单项中显示“Ctrl+Q”:

我该怎么做?我似乎没有在 Qt Creator 中找到这样做的方法。

【问题讨论】:

    标签: c++ qt keyboard-shortcuts qt-creator qkeysequence


    【解决方案1】:

    通常您会为此使用QAction 类,因此您将拥有一个QMenu,您将在其中添加操作,在您的情况下为CLOSE。然后你可以使用SetShortcut在菜单中添加"CTRL + Q"

    pNewAction->setShortcut(QString(strAccel.c_str()));
    

    其中pNewAction 的类型为QAction

    【讨论】:

    • 感谢您的建议。因此,您不会使用 Qt Creator 创建菜单(因为它会更改 XML 而不是创建 C++ 代码);您将使用 QMenu 和 QAction 自己创建菜单,以便您能够设置快捷方式。对吗?
    • 如果您的窗口是 QMainWindow,您可以在 QtDesigner(或在 Qt Creator 中)创建菜单。您创建 QAction 实例,然后将它们拖放到菜单中。
    【解决方案2】:

    你可以在QtDesigner的'Action Editor'中设置快捷键(底部的Tab,'Signal/Slot Editor'选项卡默认选中)。

    这里列出了所有已定义的 QAction。双击“快捷方式”列中的字段将打开所需的对话框。

    这会将快捷方式添加到 QAction(创建触发事件)并将其设置为可见文本,例如在菜单项中(仅在应用程序中可见,在 QtDesigner 中不可见)。

    “属性编辑器”中有更多“快捷方式”选项(例如,使它们可翻译)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      相关资源
      最近更新 更多