Qt Designer中多个用于操作的键盘快捷键

che*_*eez 5 designer keyboard-shortcuts qt4

我在Qt Designer上遇到了一个奇怪的问题。我具有以下刷新操作的快捷方式:F5Ctrl+R

这个想法是,在Macintosh上,Ctrl+ R映射到Command+ R更加直观,而在Windows F5上则可以完成。

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

Mac*_*iej 0

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

#ifdef Q_WS_MAC
//set Qt::Key_Control + Qt::Key_R
#else
//set Qt::Key_F5
Run Code Online (Sandbox Code Playgroud)

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