|
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别
1 _# e4 B: C% b7 M/ y书上写的是:
2 @1 o) l+ U, c3 a) y" e“findobj”返回系统root对象和所有子对象的句柄;
' U3 ] ]- I9 k$ w2 Y6 e“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄% u. n+ [# G7 o/ H$ ]# ~# W% l/ E
- s1 p" q' ]7 {3 L4 V6 p! P" O我就按书上编了一个小程序:
, G1 V9 }5 E0 U/ Q+ o# _# w* Fclose all;clear;clc;0 G$ L: M2 S' V) F9 d
plot(1:10)# `/ I6 R. @# ^9 E0 A
xlabel xlab %x轴名称为“xlab”5 F6 @: a9 H3 y b( ^4 S
* s" G$ h8 {, B3 C# o$ Pdisp('findobj返回的对象句柄')( S8 [* z/ _; ]' m6 e1 j
h1=findobj
2 `, P! s, B% [; u0 G9 n%获取系统root和所有子对象的句柄,只找到4个对象
/ z0 V% p; t% q9 h3 v%>> 0 -- 屏幕的句柄( g9 Q, e% K% a8 q
%>> 1 -- 窗口的句柄7 y# ]% }+ U3 O1 E
%>> 153.0018 -- 轴的句柄9 X7 D# R/ w/ g; t' S" K! j( m
%>> 154.0023 -- 直线的句柄7 P% W" Z5 f/ f( I5 s# d4 r& C0 T
: E7 M$ C0 S6 E X4 U( n2 G6 L
! @3 H7 |5 a5 p8 E2 H: s
disp('findall返回的对象句柄')
6 b1 b0 ?4 }8 Fh2=findall(0)
/ O8 x* @% L7 c W* Q4 c%获取root对象下所有对象的句柄
8 L8 ?* ` R! Q7 |%h2=[158*1],找到了158个对象9 I: ^0 E# Z2 K$ I
2 C0 _& l9 Q' \ 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?4 L3 I4 I) L# _2 y; m& J5 U' Y, [' E
' T% E& ^, n, o/ ]0 b4 g! }! A
: z$ u' ^$ m4 a! s' t9 ldisp('allchild返回的root子对象句柄')
4 _9 C9 c+ Y( vh3=allchild(0)6 `# f. j! Y# u; ^8 Q, ^- x1 g1 f b
%获取root对象的子对象
7 U+ F( J- _3 m0 b%h3=1,只找到一个figure对象
& ?2 {( G9 I3 ^- }) k 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?4 z1 x+ ~9 j0 U' A3 X2 J
+ N5 D" G& F2 ~
9 @8 p# {. T4 N5 v+ Wdisp('allchild返回的figure子对象句柄')9 q( E! A b7 H4 K) S/ V
h4=allchild(1)
- o' p( N* m5 J0 m%获取figure对象的子对象,9 A9 R% b4 q" Q( d0 m7 W3 X
%h4=[10*1] |
|