我有一個在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。
任何幫助表示讚賞。
請將您的答案標記爲已接受。 (是的,你可以爲你自己的答案做這件事。)這讓其他人清楚你的問題已經被處理:-) –