5

Qt デザイナーで奇妙な問題が発生しています。更新アクションの次のショートカットがあります: F5, Ctrl+R

考え方としては、Macintosh ではCtrl+は+にRマップされます。これはより直感的であり、Windows ではその役割を果たします。CommandRF5

問題は、最初のショートカットだけがアクティブに見えることです。アクションのショートカットを変更して、Mac やその他の場所でCtrl+をアクティブにする方法はありますか? コードでこれを実行できることはわかっていますが、デザイナーで実行したいと思います。RF5

4

1 に答える 1

0

これはいくつかの方法で解決できます。最初は、QKeySequenceQKeySequence::Refreshを使用して、ショートカットとして割り当てることができます。もう 1 つの方法は、 Qt::Key enum :と+で作成されQListた 2 つQKeySequenceの要素で作成することです(Mac OS X ではボタンが割り当てられ、その他では)。このリストはQActionsetShortcuts()に渡されます。この後、Max OS Xおよび+では更新アクションがトリガーされ、その他のシステムでは+がトリガーされます。最後に、Mac OS X で + なしで+を設定したい場合は、条件付きコンパイルを行う必要があります。つまり、次のようにします。Qt::Key_F5Qt::Key_ControlQt::Key_RCommandCtrlF5CommandRF5CtrlRCommandRF5F5CtrlR

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

OS 定義の詳細については、こちらを参照してください

于 2011-09-11T09:34:39.027 に答える