代码之家  ›  专栏  ›  技术社区  ›  mHelpMe

从Matlab 2018中的复选框中获取值

  •  0
  • mHelpMe  · 技术社区  · 6 年前

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

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

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

    错误消息是,

    “cell”类型的输入参数的未定义运算符“==”。

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

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

    但是t值是2 x 1,其中(1,1)=0&(2,1)=1。我不太明白这一点,因为复选框只能是一个值true(1)或false(0)?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Cris Luengo    6 年前

    get 当应用于句柄数组时,返回具有值的单元格数组。

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

        2
  •  1
  •   L. Scott Johnson user3836982    6 年前

    “dot notation是一种新的语法,用于访问从r2014 b开始的对象属性。”

    所以尝试

    if handles.check_perf_attr.Value == 1
    

    tValue = handles.check_perf_attr.Value;