我有一个关于matlab使用界面的简单问题
我发现,如果我首先声明一个对象(例如一个带有命令UI表的表)不可见,并且在我将其显示后,它可以工作,即我在图中有效地看到了修改。
相反,这是我的问题,如果我首先声明一个对象是可见的,并且在我使它不可见之后,它就不起作用,即我没有获得该对象的隐形。
举个例子:
figure;
h_tabell=uitable(gcf,'vis','off','data',randn(3));
h_tabell=uitable(gcf,'vis','on','data',randn(3)); %
这里我看到表格现在可见了
%现在我想让那张桌子再次看不见了
set(h_tabell,'vis','off') %
我在这里看到该表已经可见
我需要它,因为在我的程序中,对象是可见的,如果用户需要,我想设置不可见的同一个对象。
任何人都可以帮助我吗?
答案 0 :(得分:2)
您应该只使用Matlab函数set
来更改对象的属性。
在这里你打两次电话uitable
,所以如果你把它分解,这就是真正发生的事情:
h_tabell
)但这次可见您可以通过检查您的人物现在有两个孩子来验证这一点:
children=get(gcf,'children');
现在,如果您尝试更改句柄h_tabell引用的对象的visible属性,它将仅适用于第二个表。
以下代码按预期工作,只创建一个表:
figure;
h_tabell=uitable(gcf,'visible','off','data',randn(3));
% Switch the table to visible
set(h_tabell,'visible','on');
% Switch it back to invisible
set(h_tabell,'visible','off');