从 Matlab 2018 中的复选框获取值

getting the value from a checkbox in Matlab 2018

我正在将我的 Matlab 从 2013b 升级到 2018b,并且发现 MathWorks 对 GUI 做了很多更改。

我遇到的一个问题是获取复选框的值。下面一行是我以前使用的代码,但现在不起作用。

if get(handles.check_perf_attr,'Value') == 1

错误信息是,

Undefined operator '==' for input arguments of type 'cell'.

所以我尝试了下面的行来获取返回的值,然后应用一些逻辑。

tValue = get(handles.check_perf_attr,'Value');

但是 tValue 是 2 x 1 单元格,其中 (1, 1) = 0 & (2, 1) = 1。我真的不明白这一点,因为一个复选框肯定只能是一个值 true (1)或假 (0)?

get returns 应用于句柄数组时具有值的元胞数组。

因此,我认为您的问题是 handles.check_perf_attr 包含两个句柄,而不是一个。

"Dot notation is a new syntax to access object properties starting in R2014b."

所以尝试

if handles.check_perf_attr.Value == 1

tValue = handles.check_perf_attr.Value;