findall、findobj和allchild的区别
搞不清“findobj”和“findall”的区别书上写的是:
“findobj”返回系统root对象和所有子对象的句柄;
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
我就按书上编了一个小程序:
close all;clear;clc;
plot(1:10)
xlabel xlab %x轴名称为“xlab”
disp('findobj返回的对象句柄')
h1=findobj
%获取系统root和所有子对象的句柄,只找到4个对象
%>> 0 -- 屏幕的句柄
%>> 1 -- 窗口的句柄
%>> 153.0018 -- 轴的句柄
%>> 154.0023 -- 直线的句柄
disp('findall返回的对象句柄')
h2=findall(0)
%获取root对象下所有对象的句柄
%h2=,找到了158个对象
{:3_378:} 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
disp('allchild返回的root子对象句柄')
h3=allchild(0)
%获取root对象的子对象
%h3=1,只找到一个figure对象
{:3_378:} 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
disp('allchild返回的figure子对象句柄')
h4=allchild(1)
%获取figure对象的子对象,
%h4= 没有人回答我的问题……{:3_392:} :sleepy:看看,顶一下! 没人回答我的问题,我要求结题咯……
页:
[1]
