Matlab GUI跳过我的if语句即使值是真的吗?

5视图(30天)
下面是代码的片段。我是调试,发现“n”的值是3和“m”是1,因此,进入初始if语句。然而,在执行第二行是“如果m = = 1”,而不是执行(因为这是真的)只是跳过第二结束。这是在我的按钮的回调函数。
n = getappdata (0,“n”);m = getappdata (0,“米”);
如果n > = 1
cvList ((n + 1): 12) = 0;
如果m = = 1
mList (2:12) = 0;
elseifm = = 0
mList ((n + 1): 12) = 0;
结束
结束
11日评论
Stephen23
Stephen23 2018年8月1日
编辑:Stephen23 2018年8月1日
“我如何才能访问所有对象在同一时间?”
命令 得到 使用数组的处理所以你不需要做什么特别的,例如:设置所有对象数组 一个 看不见的:
集(,“可见”,“关闭”)
您甚至可以设置不同的值的数组处理,所以他们不需要使用相同的值:仔细阅读文档了解,和实验!
“我理解我可以将它们的值是这样的:“
handles.CV{1} =得到(hObject,“价值”);
“但是我怎么能将它们存储在数组格式访问他们的可见性?因为他们都是不同的编辑框吗?”
处理应该存储在一个数组中。这是很容易使用索引(例如创建框在一个循环中)或一次性(许多图形命令可以创建多个对象,并返回一个数组处理)。他们是不同的编辑框是无关紧要的。如果箱子排列系统之后,他们可以很容易地调用相同的回调一个额外的参数(如循环计数器),然后回调函数知道哪个按钮被按下或柜台可以作为索引。看到我的一些FEX提交这样的例子:

登录置评。

答案(1)

丹尼斯
丹尼斯 2018年7月31日
编辑:丹尼斯 2018年7月31日
Matlab是大小写敏感:如果,最终,Setappdata, Isempty不会工作,如果,,,Setappdata, Isempty相反。
1评论
MechE1
MechE1 2018年7月31日
对不起,它只在评论中被资本化,在实际的代码实际上是小写的。

登录置评。

类别

找到更多的在编程工具帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!