文档

findobj

类:处理

查找句柄对象

语法

H = findobj(H)
Hmatch = findobj(H,属性,值,…,属性,值)
Hmatch = findobj(H,'-not',property,value)
Hmatch = findobj(H,'-regexp',property,value)
Hmatch = findobj(H,属性,值,'- .logicaloperator’,属性,值)
Hmatch = findobj(H,'-function',fh)
Hmatch = findobj(H,'-function',property,fh)
Hmatch = findobj(H,'-class',class)
Hmatch = findobj(H,'-isa',class)
Hmatch = findobj(H,'-property',property)
Hmatch = findobj(H,'-method',methodname)
Hmatch = findobj(H,'-event',eventname)
Hmatch = findobj(H,'-depth',d,___

描述

Hmatch= findobj (H中列出的对象H以及他们所有的后代。

Hmatch= findobj (H财产价值、……财产价值发现处理将指定属性设置为指定值的对象。

Hmatch= findobj (H“——”,财产价值对下面的表达式进行反运算财产价值对。也就是说,查找指定属性不等于的对象价值

Hmatch= findobj (H“正则表达式”,财产价值的内容价值参数作为正则表达式。

Hmatch= findobj (H财产价值- - - - - -,logicaloperator”,财产价值将逻辑运算符应用于名称/值对。金宝app支持的逻辑运算符包括:

  • ”或者“(如果不指定操作符,则默认)

  • “——”

  • “异或”

Hmatch= findobj (H“函数”,跳频调用函数句柄跳频的对象H并返回函数返回的对象真正的

Hmatch= findobj (H“函数”,财产跳频调用函数句柄跳频中的对象的指定属性值H并返回函数返回的对象真正的.函数必须返回一个标量逻辑值。

Hmatch= findobj (H“海尔集团”,查找属于指定类的所有对象。

Hmatch= findobj (H“isa”,查找属于指定类的所有对象。

Hmatch= findobj (H“属性”,财产查找所有对象H具有命名属性。

Hmatch= findobj (H“方法”,methodname查找具有指定方法名的对象。

Hmatch= findobj (H“事件”,eventname查找具有指定事件名称的对象。

Hmatch= findobj (H“深度”,d___中的对象下面的实例层次结构中的级别H搜索。

指定所有选项作为字符向量或字符串标量。

输入参数

全部展开

要搜索的对象,指定为对象句柄数组。除非你指定“深度”选项,findobj搜索输入数组中的对象H和实例层次结构中的子对象。

属性名,指定为区分大小写的引号文本。

数据类型:字符|字符串

要查找的对象的类,指定为区分大小写、引用的文本。

数据类型:字符|字符串

属性值,指定为值或MATLAB®表达式。

方法名,指定为区分大小写的引号文本。

数据类型:字符|字符串

事件名称,指定为区分大小写的引号文本。

数据类型:字符|字符串

搜索深度,指定为整数,表示输入数组中任何给定对象下面的层数H

  • D = n——搜索n中的每个对象下面的层次结构级别H

  • D = 0—只在同一级别进行搜索H

  • D = inf-搜索所有级别以下的对象H.这是默认设置。

函数句柄,指定为输入数组中的每个对象求值的函数H.此函数必须返回一个标量逻辑值,指示是否存在匹配(真正的)或否().

输出参数

全部展开

通过搜索找到的对象,作为句柄数组返回。

属性

访问 公共

要了解方法的属性,请参见方法属性

例子

具有特定属性值的对象

找到具有特定属性值的对象。考虑到处理类,BasicHandle

classdefBasicHandle < handle属性Prop1结束方法函数obj = BasicHandle(val)如果Nargin > 0 obj。Prop1 = val;结束结束结束结束

创建一个数组BasicHandle对象:

h(1) = BasicHandle(7);h(2) = BasicHandle(11);h(3) = BasicHandle(27);

找到对象的句柄Prop1属性的值为7:

h = findobj(h,“Prop1”7);h7。Prop1
Ans = 7

具有特定属性名的对象

找到具有特定动态属性的对象。考虑到按钮类:

classdef按钮< dynamicprops属性UiHandle结束方法函数Obj = button(pos)如果Nargin > 0如果长度(pos) == 4 obj。UiHandle = uicontrol(“位置”、pos、...“风格”“按钮”);其他的错误(“位置不当”结束结束结束结束结束

创建一个按钮对象数组,其中只有一个元素定义一个动态属性。使用findobj以获取具有命名的动态属性的对象的句柄ButtonCoord

B (1) = button([20 40 80 20]);addprop (b (1),“ButtonCoord”);(1)。ButtonCoord = [2,3];B(2) =按钮([120 40 80 20]);B(3) =按钮([220 40 80 20]);H = findobj(b,“属性”“ButtonCoord”);h.ButtonCoord
Ans = 2 3

提示

  • findobj只能访问公共成员。

  • 如果没有匹配,findobj返回与输入数组相同类的空数组H

  • 逻辑运算符优先级遵循MATLAB优先级规则。有关更多信息,请参见运算符优先级

  • 通过在单元格数组内分组来控制优先级

另请参阅

在R2008a中介绍