Я пытаюсь установить состояние Включено флажок в матовой/симуляционной маске (GUI) в зависимости от состояния другого флажка. Другими словами: если установлен флажок «А», флажок «В» должен быть отключен (серый). Я пытался использовать функцию обратного вызова флажок, А:Как изменить матовую маску/маску в зависимости от состояния маски?
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'); и снова откройте графический интерфейс, установите флажок «В». – lineinthesand