別のチェックボックスの状態に応じて、MATLAB/SIMULINKマスク(GUI)のチェックボックスの有効状態を設定しようとしています。つまり、チェックボックスAがチェックされている場合、チェックボックスBは無効(グレー表示)になります。 私はチェックボックスAにコールバック関数を使用しようとしました:マスクの状態に応じてmatlab/simulinkマスクを変更するにはどうすればよいですか?
box_A = get_param(gcb, 'checkBoxA');
m = Simulink.Mask.get(gcb);
box_B = m.getParameter('checkBoxB');
if strcmp(box_A, 'on')
box_B.set('Enabled', 'off');
end
しかし、私はマスクを開いたとき、私はエラーを取得:
-->Error evaluating 'MaskCallback' callback of TEST block (mask) 'test_simulink /Test test'. -->Invalid inputs specified for method 'set' -->Attempt to modify mask parameter name of block 'test_simulink/Test test' in its MaskCallbacks. Changing mask parameter name as part of MaskCallbacks is not allowed.
は、どのように私は私の最初の目標を達成することができますか?
コードに問題はありません。パラメータ名が正確で、MATLABコマンドラインで同じことができるかどうかチェックしましたか? – Navan
matlabコマンドラインから、それは動作します。つまり、box_B.set( 'Enabled'、 'off')を発行した後です。もう一度GUIを開くと、チェックボックスBがグレー表示になっています。 – lineinthesand