我試圖設置一個複選框在matlab/simulink掩碼(GUI)中的啓用狀態,這取決於另一個複選框的狀態。換句話說:如果複選框A被選中,複選框B將被禁用(灰色)。 我試圖用一個回調函數上的複選框答:如何根據面罩的狀態修改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