本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

findobj

查找具有特定属性的图形对象

语法

findobj
h = findobj
h = findobj('PropertyName',PropertyValue,...)
h = findobj('PropertyName',PropertyValue,'-logicaloperator', 'PropertyName',PropertyValue,...)
h = findobj('-regexp','PropertyName','regexp',...)
h = findobj('-property','PropertyName')
h = findobj(objhandles,...)
h = findobj(objhandles,'-depth',d,...)
h = findobj(objhandles,'flat','PropertyName',PropertyValue,...)

说明

findobj 返回根对象及其所有子级的句柄,而且不会将结果赋值给变量。

h = findobj 返回根对象及其所有子级的句柄。

h = findobj('PropertyName',PropertyValue,...) 返回属性 PropertyName 设置为值 PropertyValue 的所有图形对象的句柄。您可以指定多个属性/值对组,在这种情况下,findobj 将仅返回具有所有指定值的对象。

h = findobj('PropertyName',PropertyValue,'-logicaloperator', 'PropertyName',PropertyValue,...) 将逻辑运算符应用于属性值匹配。-logicaloperator 的可能值如下:

  • -and

  • -or

  • -xor

  • -not

有关逻辑运算符的详细信息,请参阅逻辑运算

h = findobj('-regexp','PropertyName','regexp',...) 使用正则表达式来与对象匹配,就像您将属性 PropertyName 传递给 regexp 函数的值一样

regexp(PropertyValue,'regexp')
如果存在匹配项,findobj 将返回对象句柄。有关 MATLAB® 软件如何使用正则表达式的信息,请参阅 regexp 函数。'-regexp' 选项并非对所有类型的属性都适用。

h = findobj('-property','PropertyName') 查找所有具有指定属性的对象。

h = findobj(objhandles,...) 将搜索限制为 objhandles 中列出的对象及其子级。

h = findobj(objhandles,'-depth',d,...) 指定搜索的深度。深度参数 d 控制 MATLAB 在 objhandles 中的句柄下遍历的级数。将 d 指定为 inf 可获得所有级别的默认行为。将 d 指定为 0 可获得与使用 flat 参数相同的行为。

h = findobj(objhandles,'flat','PropertyName',PropertyValue,...) 将搜索限制为 objhandles 中列出的对象,但不会搜索子级。

如果句柄引用的图形对象不存在,findobj 将返回错误。

findobj 与任何合法的属性值正确匹配。例如,

findobj('Color','r')
查找 Color 属性设置为 redr[1 0 0] 的所有对象。

如果某个图形对象是 objhandles 中标识的多个对象的子级,则每次 findobj 遇到其句柄时,MATLAB 都会搜索该对象。因此,隐式引用某个图形对象可能会导致多次返回其句柄。

注意

findobj 不会返回 HandleVisibility 属性设置为 'off' 的图形对象。有关详细信息,请参阅 HandleVisibility 的属性说明。

示例

查找当前坐标区中的所有线条对象:

h = findobj(gca,'Type','line')

查找 Label 设置为 'foo'String 属性设置为 'bar' 的所有对象:

h = findobj('Label','foo','-and','String','bar');

查找 String 属性不是 'foo''bar' 的所有对象:

h = findobj('-not','String','foo','-not','String','bar');

查找 String 属性设置为 'foo'Tag 属性设置为 'button one' 并且 Color 属性不是 'red''blue' 的所有对象:

h = findobj('String','foo','-and','Tag','button one',...
	'-and','-not',{'Color','red','-or','Color','blue'})

查找已为其 Tag 属性赋值(即值不是空字符向量 '')的所有对象:

h = findobj('-regexp','Tag','[^'']')

查找当前图窗中 BackgroundColor 属性设置为特定灰色 ([.7 .7 .7]) 的所有子项。此语句还会在当前图窗中搜索匹配的属性值对组。

h = findobj(gcf,'-depth',1,'BackgroundColor',[.7 .7 .7])

另请参阅

| | | | | | | | |

在 R2006a 之前推出