5

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

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

问题是只有第一个快捷方式似乎处于活动状态。有没有办法让我更改操作的快捷方式,以便我们在 Mac 和其他任何地方都有Ctrl+活动?我知道我可以在代码中做到这一点,但我宁愿在设计器中做到这一点。RF5

4

1 回答 1

0

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

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

有关操作系统定义的更多信息,您可以在此处找到

于 2011-09-11T09:34:39.027 回答