【发布时间】:2017-01-23 15:48:17
【问题描述】:
我正在尝试根据另一个复选框的状态在 matlab/simulink 掩码 (GUI) 中设置复选框的启用状态。换句话说:如果复选框 A 被选中,则复选框 B 应被禁用(灰色)。 我尝试在复选框 A 上使用回调函数:
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
但是当我打开面具时,我得到一个错误:
-->评估测试块(掩码)“test_simulink /Test test”的“MaskCallback”回调时出错。 --> 为方法“set”指定的输入无效-->尝试在其 MaskCallbacks 中修改模块“test_simulink/Test test”的封装参数名称。不允许在 MaskCallbacks 中更改掩码参数名称。
我怎样才能实现我最初的目标?
【问题讨论】:
-
我看不出代码有什么问题。您是否检查过参数名称是否准确以及您是否能够在 MATLAB 命令行中执行相同的操作?
-
从 matlab 命令行,它工作,即在我发出 box_B.set('Enabled', 'off');并再次打开 GUI,复选框 B 为灰色。