2009-08-18 7 views
3

Qtデザイナーに奇妙な問題があります。私は、リフレッシュ動作のために次のショートカットがあります:F5Ctrlキーを + RQtデザイナーのアクションのための複数のキーボードショートカット

アイデアは、Macintosh、Ctrlキーの + Rマップへコマンド + Rがあるということですより直感的でWindows上では、F5は仕事をします。

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

答えて

0

これは、いくつかの方法で解決できます。最初に、QKeySequenceを使用してQKeySequence::Refreshをショートカットとして割り当てることができます。 (Mac OS Xでコマンド butttonは他人Ctrlキーに、割り当てられます)Qt::Key_F5Qt::Key_Control + Qt::Key_R:もう一つの方法は、Qt::Key enumで作成した2つのQKeySequence要素とQListを作成しています。このリストは、QActionsetShortcuts()に渡されます。この後、マックスOS X F5コマンドに + Rは、リフレッシュ動作をトリガし、他のシステムF5はCtrl +Rになります。

#ifdef Q_WS_MAC 
//set Qt::Key_Control + Qt::Key_R 
#else 
//set Qt::Key_F5 
:あなたは、Mac OS X上の F5と他人に F5 ずにCtrlキー + Rなし コマンド + Rを設定したい場合は最後に、あなたは条件付きコンパイル、すなわちを行う必要があります

OSの詳細はこちらhere

+0

私はコードでそれを行う方法を知っています、私の質問はデザイナーでそれを行う方法についてでした:) – cheez

+0

アクションエディタのデザイナで@cheezを実行するには、ショートカットフィールドのキーを押してアクションをクリックする必要があります。 Mac OS Xでは、Ctrlはqtによってコマンドに変更され、追加の作業は必要ありません。 – Maciej

+0

アクションのショートカットを変更して、MacではCtrl + Rを有効にし、他の場所ではF5を有効にする方法はありますか?私はコードでこれを行うことができますが、私はデザイナーでそれをやりたいと思います。 – cheez

関連する問題