我有一个在Debian Linux上开发的Qt 5应用程序,现在我正在移植它并为OS X增强它。当我将它带过来时,所有菜单快捷方式都存在在表单编辑器中。视觉捷径已经改变,以反映使用命令键而不是控制键。所以,对于登录行动UI文件看起来像这样:Qt菜单快捷方式不能在OS X上工作
<action name="LoginAction">
<property name="text">
<string>Log in...</string>
</property>
<property name="shortcut">
<string>Ctrl+L</string>
</property>
</action>
但是,现在工作的唯一键盘快捷键默认的那些OS X使用,例如命令-Q。
我已经在Qt论坛上看到过有关Qt 5将快捷方式交给Cocoa的讨论。这篇文章Keyboard shortcuts - function keys - created in Qt app don't work on OSX提出一个解决办法,我合并,
#if defined (Q_OS_MACX)
ui->LoginAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
ui->LoginAction->setShortcutContext(Qt::ApplicationShortcut);
#endif
但仍然快捷键不起作用。 Command-L不会触发LoginAction。
任何帮助表示赞赏。
请将您的答案标记为已接受。 (是的,你可以为你自己的答案做这件事。)这让其他人清楚你的问题已经被处理:-) –