我目前正在处理一堆使用matlab编程控制掩码的代码。
我刚刚遇到了一个我以前没有遇到的新问题。
我必须更改掩码中的复选框状态,我基本上是在执行以下操作:
maskNames = get_param(gcb, 'MaskNames');
maskValues = get_param(gcb, 'MaskValues');
// search in maskNames for the checkbox
// change the corresponding index in maskValues (from "on" to "off" in this case)
set_param(gcb, 'MaskValues', maskValues);
出于某种原因,这在matlab 2014b下无效。复选框保持选中状态,如果我执行“get_param('MaskValues')”,我可以看到该值仍然是“打开”。
这适用于Matlab2011b(相同的代码,没有版本分支)。
但是,如果我做一个简单的: set_param(gcb,'ParameterName','off'),那么它就可以了。但是我无法真正做到这一点,因为可能会有多个复选框一次更改,我们正在使用MaskNames单元格搜索来确定应修改哪个掩码组件。
我没有得到的,是我已经使用了蒙版模块,我们正在使用完全相同的框架与它们进行通信。所以基本上在我设置弹出窗口的其他块上,它正在matlab 2014b上工作。
所以我想深入了解可能导致此问题的原因以及解决方法,因为基本上我处于这样一种情况:我无法保证使用此技术的其他代码块和其他现有块将继续工作或甚至没有被打破。
谢谢你们