多个键盘快捷键,可在Qt Designer中执行操作

时间:2009-08-18 05:10:12

标签: qt4 keyboard-shortcuts designer

我和Qt设计师有一个奇怪的问题。我有以下刷新操作的快捷方式: F5 Ctrl + R

这个想法是在Macintosh上, Ctrl + R 映射到 Command + R 这更直观在Windows上, F5 完成这项工作。

问题是只有第一个快捷方式似乎处于活动状态。有没有办法让我更改动作的快捷方式,以便我们在Mac上有 Ctrl + R ,在其他地方有 F5 ?我知道我可以在代码中执行此操作,但我宁愿在设计器中执行此操作。

1 个答案:

答案 0 :(得分:0)

这可以通过几种方式解决。首先,您可以使用QKeySequence并指定QKeySequence::Refresh作为快捷方式。另一种方法是创建QList,其中包含使用Qt::Key enum创建的2个QKeySequence元素:Qt::Key_F5Qt::Key_Control + Qt::Key_R(在Mac OS X上将分配命令按钮,其他 Ctrl )。然后将此列表传递给QActionsetShortcuts()。在此之后,在Max OS X F5 Command + R 将触发刷新操作,并在其他系统上 F5 Ctrl + R 。最后,如果你想在Mac OS X上设置 Command + R 而不用 F5 而不用 Ctrl设置 F5 + R 在其他人身上,你应该做条件编译,即:

#ifdef Q_WS_MAC
//set Qt::Key_Control + Qt::Key_R
#else
//set Qt::Key_F5

更多关于操作系统的定义,您将找到here