4

Matlab GUI の実行中にキーボード ストロークを Matlab に読み込む方法を知っていますか? (つまり、プロンプトをコマンド ウィンドウに送信し、Return キーを押す必要がある "input" 関数を使用しない場合)。

可能であれば、mex 関数の使用を避けたいと考えています。

4

3 に答える 3

9

まず、ハンドルで Figure を宣言する必要があります。

fig = figure;

次に、プロパティ (以下の引用符内) を設定して、ユーザー インタラクション (@ 記号を使用) に応答するために記述した関数をアクティブ化できます。

set(fig,'KeyPressFcn',@keyDownListener)
set(fig, 'KeyReleaseFcn', @keyUpListener);
set(fig,'WindowButtonDownFcn', @mouseDownListener);
set(fig,'WindowButtonUpFcn', @mouseUpListener);
set(fig,'WindowButtonMotionFcn', @mouseMoveListener);

上記の例は、MATLAB でのユーザー オブジェクトの相互作用の多くの側面に関する (matlab ファイル交換からの) 優れたソースである、shooter03.ma MATLAB スペース シューターからのものです。

http://www.mathworks.com/matlabcentral/fileexchange/31330-daves-matlab-shooter/content/shooter03/shooter03.m

于 2012-05-22T07:23:04.460 に答える
3

GUI が Figure に基づいている場合、Figure プロパティを使用しkeypressfcnて、キーボード入力を処理するコールバック関数を定義できます。詳細については、matlab のヘルプを参照してください: http://www.mathworks.de/help/techdoc/ref/figure_props.html#KeyPressFcn

于 2012-05-17T12:05:02.877 に答える