|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别
* s$ p# X7 _" {, p5 S书上写的是:# X4 y9 A8 \- s- P
“findobj”返回系统root对象和所有子对象的句柄;
2 G8 I4 i8 J: W5 n p“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
& T% U7 p, C6 |3 H- m+ _+ `, w8 {4 z6 l% U
我就按书上编了一个小程序:: n( y4 ]& X3 Z% L
close all;clear;clc;. @* E, g- k0 N, u2 a
plot(1:10)7 x ^* {2 x/ I+ ]
xlabel xlab %x轴名称为“xlab”
# ?2 I: A# Y2 A+ l* c/ r/ O) M/ z, W" Q9 y6 @5 A% T$ L9 r9 Z) ]
disp('findobj返回的对象句柄')3 e! Q/ I: |9 X. _ c1 K
h1=findobj
+ f$ M% `6 a$ x7 Q; L) t%获取系统root和所有子对象的句柄,只找到4个对象
/ t' F+ o. ^) B/ t/ i: s3 e; x%>> 0 -- 屏幕的句柄
2 C4 d+ @" C4 I3 z6 w1 e. Q%>> 1 -- 窗口的句柄
U: ~0 n- h% u* p4 b- L! s6 e/ B* T%>> 153.0018 -- 轴的句柄
* ~* p/ h9 G, a3 @2 l! _2 S! W%>> 154.0023 -- 直线的句柄
# `) h" I \! o
; S' e# a8 F1 }* O* q8 {4 [3 |; K8 [7 ^
disp('findall返回的对象句柄'). t+ s( b. o7 p+ i
h2=findall(0)* [0 `( c5 ~6 B( j4 i6 G' e
%获取root对象下所有对象的句柄/ l5 E9 O# Y- O' D/ {
%h2=[158*1],找到了158个对象# `& ]0 u! J. f4 a# j3 ~1 q$ m
3 m5 Y0 p- v/ `5 n* J
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?; J; w! j/ j1 e. z9 f9 z5 L$ |& ^
2 k3 o$ w7 K# }* V
: ?# R$ J) V0 `
disp('allchild返回的root子对象句柄')
- g9 I5 _1 I( c9 p% }h3=allchild(0)
. U, r, {/ `1 V$ b, H0 q%获取root对象的子对象) g R+ n3 ?5 R+ Z; T
%h3=1,只找到一个figure对象8 e0 o# R, R, B
0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
$ ?6 B& s$ ^$ u( H$ o" A: T: |7 y! r0 ^
; S- Y% V; e5 p" [' r
disp('allchild返回的figure子对象句柄')
2 `0 h, x$ W( E$ Jh4=allchild(1)
: h; i" V( P) m9 ]* A- L* r, K, w%获取figure对象的子对象,
* K, ?8 ~: l( i9 M0 C* a7 x& h. L%h4=[10*1] |
|