要在句柄名称中搜索特定模式,最好的方法是遵循Luis Mendo 在他的回答中的建议。但是,请考虑根据您要查找的对象类型进行搜索。在这种情况下,似乎radiobutton
需要定位所有对象。
查找特定样式的句柄的最直接方法uicontrol
是搜索其Style
属性设置为 的句柄radiobutton
。考虑一个figure
有两个控件的:一个文本框和一个单选按钮,它们的句柄存储在一个普通的数组中uih
:
hf = figure; % parent of uicontrols
uih(1) = uicontrol('style','text');
uih(2) = uicontrol('style','radiobutton');
这是我的测试句柄值(你的会有所不同):
>> uih
uih =
3.0012 4.0012
第一个是文本框,第二个是单选按钮。
按父句柄搜索
如果您有父句柄(即图形句柄hf
),您甚至不需要句柄列表uih
!只需findobj
按以下方式调用:
hr = findobj(hf,'style','radiobutton')
hr =
4.0012
搜索句柄数组
如果您没有父句柄,但有要搜索的句柄列表,那也没问题:
hr = findobj(uih,'style','radiobutton')
hr =
4.0012
搜索struct
手柄
在您的情况下,您将句柄存储为 a 中的字段struct
:
handles =
ht: 3.0012
hr: 4.0012
hr = findobj(structfun(@(x)x,handles),'style','radiobutton')
hr =
4.0012
别担心,这会找到所有单选按钮!