|
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别& ~/ |1 l$ }4 A& G- }0 R3 Q7 K1 b
书上写的是:
6 S; g, ~9 l) ]8 I3 e" N“findobj”返回系统root对象和所有子对象的句柄;, o5 ~4 {: S, h) i
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
3 c! [2 T9 \9 O! L/ J
4 m5 f2 x8 s! X* Z6 ~+ q; T! P我就按书上编了一个小程序:
; @1 T9 u' j/ R v3 T# \close all;clear;clc;2 C% s4 U, ]7 w, P8 t t% G. L
plot(1:10)
( N8 i6 L3 L: B- r# Dxlabel xlab %x轴名称为“xlab”
" ]9 ~4 H' H1 n6 v& k
; c# w$ r+ c1 n) Jdisp('findobj返回的对象句柄')
7 d& @* X0 s1 q$ }h1=findobj$ }# w9 d' k6 S( W5 M7 q) G
%获取系统root和所有子对象的句柄,只找到4个对象1 y' x' R$ \6 [/ \5 s! B P+ W
%>> 0 -- 屏幕的句柄6 K& }8 H: a$ b& v' @
%>> 1 -- 窗口的句柄: P6 f9 F7 J- @: W! O [
%>> 153.0018 -- 轴的句柄
% ?* m$ l4 M* l$ X$ k$ L: W%>> 154.0023 -- 直线的句柄
2 D5 E3 i+ M; l; O9 X% C2 P# h8 r" o( q% m! i# B( W
; A+ A1 k5 X; N! ]
disp('findall返回的对象句柄')/ f4 K) q2 V W9 ?( ^6 C% l7 j
h2=findall(0)
3 A+ ^7 M7 A6 i9 |" ?. T%获取root对象下所有对象的句柄4 M+ K, L9 }$ m* X) k
%h2=[158*1],找到了158个对象
3 Z& o0 g5 i4 e0 v/ i( G1 H5 k
P' t2 ] J8 i" r Q 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?7 K/ w: l I% _- k2 Q
- c4 E8 x! D) c2 x
8 R: v/ `7 f5 _# c0 D/ x! f' \4 vdisp('allchild返回的root子对象句柄')
7 O. T& `2 q) k- ph3=allchild(0)5 N, Q* J: w# [+ M3 O1 C
%获取root对象的子对象+ s5 d5 Q7 B u' q4 J9 m' C
%h3=1,只找到一个figure对象% V# ?# ?9 k9 F5 G
0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
7 h) n3 J) p/ s! V/ K& H$ [/ Y1 `6 D7 d' z
3 O# V- F0 `2 ]8 j% P1 s3 X
disp('allchild返回的figure子对象句柄')
+ G u/ c$ i' [/ N: jh4=allchild(1)6 U% A0 u9 A1 [5 V/ ?: \5 D/ G; C+ Y
%获取figure对象的子对象,$ J8 J5 k. ~/ M' ^
%h4=[10*1] |
|