|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别
V4 p& x) @2 X: A% D书上写的是:
% `" U. C. Y. D0 w( K“findobj”返回系统root对象和所有子对象的句柄;
6 i5 w6 Z% }: b A“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
; i" k* W1 }8 M4 ]3 x! }
5 @& [1 M% x. o9 Q- \6 S2 U我就按书上编了一个小程序:3 G: a. x$ _) ~
close all;clear;clc;
0 x# Y6 s+ F% |7 l; p0 Q8 {0 Mplot(1:10)' n+ D1 P& t# G4 Q9 H
xlabel xlab %x轴名称为“xlab”
8 R& C3 W$ e2 w F z
3 b2 E' p: |) i, S: m+ Qdisp('findobj返回的对象句柄')
6 }3 M; s1 A, D% l7 [* w& e- ]# }: uh1=findobj
+ `! L* T# g: j%获取系统root和所有子对象的句柄,只找到4个对象
1 F8 K% s# ?& L& M. @( G%>> 0 -- 屏幕的句柄
5 O$ `4 X' W% Z7 b# V9 c e- q%>> 1 -- 窗口的句柄" G C, G9 b9 |! F) C: R/ o
%>> 153.0018 -- 轴的句柄
3 Q7 O- Q/ K+ t%>> 154.0023 -- 直线的句柄
0 x& W! w! s3 N- ?( D! D- [1 k: N1 [3 E1 Y% u
- m+ `+ a5 Y7 p4 A4 W. A n5 ^# O8 [disp('findall返回的对象句柄')
- }* B4 G+ A+ n$ r/ }h2=findall(0)
- w4 {7 V! d: E%获取root对象下所有对象的句柄
X" h( H$ \5 _- w. t, h%h2=[158*1],找到了158个对象 a2 ~) n% ]+ a. p1 U
! z% @9 F8 z, w+ h8 B2 T* B 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
! Q$ E8 `/ r# k
- N7 x; y, A9 D& I* a0 n2 A# p* I/ l( Q/ `9 q' Z% f9 b
disp('allchild返回的root子对象句柄'): Y& M" w% v# H) h( ~& ~ }
h3=allchild(0)
0 L5 P. e9 |+ K! E" h%获取root对象的子对象8 k$ v9 E$ V4 D3 x' z- ~9 S
%h3=1,只找到一个figure对象% l' C! V8 |; R3 s) F" _ `/ g
0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
V+ }' `1 F1 b& u* K- |% D2 L. c
' N3 G, I1 H$ j9 ]1 A2 m% t. L/ n6 O- n
disp('allchild返回的figure子对象句柄')
# {3 o3 z5 B4 B$ F$ w( Th4=allchild(1)" C: V& x' {4 g- m: a; Z S ]
%获取figure对象的子对象,
+ g4 [1 @, E6 [. Y%h4=[10*1] |
|