|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别- t6 o1 E! D$ H" O1 [; B# e
书上写的是:
; V' H2 B) |0 E$ K k9 ~“findobj”返回系统root对象和所有子对象的句柄;4 B4 I4 | z( _
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄% ]9 F B/ `4 b) ~( A9 p- D6 u5 l
! b& b/ h) D- y1 o
我就按书上编了一个小程序:3 v7 `( W+ x2 D t1 E4 I
close all;clear;clc;
; a4 y' ~" c$ e4 [plot(1:10). k0 d2 s! a, Z2 F' w9 C, _* d
xlabel xlab %x轴名称为“xlab”* D( G: M8 W8 `& F$ h
% A1 z" L! G1 J1 l7 k [ k: ]! L9 o! \disp('findobj返回的对象句柄')* v+ O% h( M, C# U' Q
h1=findobj
. a% V7 {+ |" P2 m* d, Z' k# q' Z%获取系统root和所有子对象的句柄,只找到4个对象
% |/ `0 d: h9 F" e2 t%>> 0 -- 屏幕的句柄
/ S3 X x9 D3 |%>> 1 -- 窗口的句柄
! s B8 E' t# Q" C( v9 D f%>> 153.0018 -- 轴的句柄
5 C$ i+ d g5 z6 M, D%>> 154.0023 -- 直线的句柄
0 j x8 h2 v6 v
6 k% `. E0 Q! Z e! W t' G e( e1 {; A2 {+ A2 \; k, t
disp('findall返回的对象句柄')1 @- f) G6 R c( ^$ {
h2=findall(0)
/ D# y1 g$ `; I) n* q" z%获取root对象下所有对象的句柄
/ H' ^6 l* u% H2 K1 K$ B5 R%h2=[158*1],找到了158个对象( D# n/ l m' a: o& b5 A
T5 P1 Q- _0 m
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?; k9 H" i. b/ M& h
3 D6 g8 ] _0 o9 _/ U9 H! y: r5 P3 P& X4 O \, K1 b& |- m7 O
disp('allchild返回的root子对象句柄')( u; F' T4 a0 `, h) T; u
h3=allchild(0)
; U7 j% I2 }+ R$ g( w) S; D. e%获取root对象的子对象6 X$ l' B9 F4 t0 r: w$ h
%h3=1,只找到一个figure对象
; a1 D5 B* k% J% l( E; q 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
' u, F- s s$ U; _% c z- S
/ B' y6 v% H. K. T# {% e; H" c' R0 a9 M) c: M$ D
disp('allchild返回的figure子对象句柄')
I- S y Q3 p- ^1 a) i+ _h4=allchild(1)
1 { {5 B0 T) G3 \. n%获取figure对象的子对象,: ?3 b4 ^% `+ U% v o
%h4=[10*1] |
|