|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别
4 a& s. M, `% ]# k c* L$ C书上写的是:7 y( T* {4 N- s6 D* O- u
“findobj”返回系统root对象和所有子对象的句柄;
3 J3 i# k" ~8 t- `( e1 v! ~: z“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄+ }4 N0 L) B" v8 I6 q5 j
+ ?9 @! N( Y/ O4 F6 U- |& x9 v
我就按书上编了一个小程序:
& A# p ~: N0 _* L f" c9 rclose all;clear;clc;/ L+ `9 m' ?9 u& k& x
plot(1:10)7 ?7 @1 ]4 ~5 Y$ j9 Y
xlabel xlab %x轴名称为“xlab”+ R, K3 M8 w* M( f
- j2 ]# P; j) N$ B4 m# J
disp('findobj返回的对象句柄')
* `& |: v! P0 |' ?' l4 h4 t. h% gh1=findobj6 i' U' r- C! @: y+ {( _) E6 `5 H
%获取系统root和所有子对象的句柄,只找到4个对象 `# n% Q2 o8 r% {/ m+ x
%>> 0 -- 屏幕的句柄1 S9 ]% @/ }6 n
%>> 1 -- 窗口的句柄
3 |" {, N& g2 l7 x$ F# F%>> 153.0018 -- 轴的句柄
# y2 H% O, Y% y$ ?) n: ^%>> 154.0023 -- 直线的句柄
8 X6 d: N$ ^! J' S8 T' l9 N9 q# p8 N3 U' |& y3 l o1 m
, g5 O+ { z0 [: X3 i" L( i1 q/ S9 kdisp('findall返回的对象句柄')% A: |6 s+ Z( a$ y: ^5 F
h2=findall(0)
8 r& e D. ~% B5 N8 i2 B( r%获取root对象下所有对象的句柄5 d* N0 h X/ G8 B0 j
%h2=[158*1],找到了158个对象
8 n+ w7 B/ {5 B/ Z/ d0 V0 t9 a
5 P0 Q* } u9 {: R 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?0 S9 i* v7 v2 l: B7 L! J$ H/ Y
! ~8 {- K% l2 W% V. @6 Y2 l$ r4 H7 U
, z/ D3 t$ n3 L" q' udisp('allchild返回的root子对象句柄')4 X+ W* E; I) ~9 l( v
h3=allchild(0). {) }8 s8 B2 Q* Q7 B5 K9 B d
%获取root对象的子对象- T* M, K: @) n: d1 f
%h3=1,只找到一个figure对象
. q- |0 D3 K3 [7 b/ m7 f4 g 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
) n' M6 G1 o) T4 {; u1 w) b
# \" O- \: [, R& O' B' e
. x3 K# ]3 X3 [& U) ~% ddisp('allchild返回的figure子对象句柄')
4 c: ~8 L- u+ X4 n7 Vh4=allchild(1). K6 m' T. p1 m, j5 r9 z( l
%获取figure对象的子对象,
' [/ T* R6 r9 Q! g%h4=[10*1] |
|