itouka 发表于 2012-6-2 16:35:45

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=

itouka 发表于 2012-6-5 11:01:00

没有人回答我的问题……{:3_392:}

mingyu 发表于 2012-6-7 15:01:09

:sleepy:看看,顶一下!

itouka 发表于 2012-6-10 10:08:38

没人回答我的问题,我要求结题咯……
页: [1]
查看完整版本: findall、findobj和allchild的区别

招聘斑竹