Класс: указатель
Нахождение объектов указателя
Hmatch = findobj (H)
Hmatch = findobj (H, свойство, значение..., свойство, значение)
Hmatch = findobj (H, '-not', свойство, значение)
Hmatch = findobj (H, '-regexp', свойство, значение)
Hmatch = findobj (H, свойство, значение, '-logicaloperator
', свойство, значение)
Hmatch = findobj (H, '-функция', fh)
Hmatch = findobj (H, '-функция', свойство, fh)
Hmatch = findobj (H, '-класс ', класс)
Hmatch = findobj (H, '-isa', класс)
Hmatch = findobj (H, '-свойство', свойство)
Hmatch = findobj (H, '-метод', methodname)
Hmatch = findobj (H, '-событие', eventname)
Hmatch = findobj (H, '-глубина', d, ___)
возвращает объекты, перечисленные в Hmatch = findobj(H)
H
и всех их потомках.
находит объекты Hmatch = findobj(H,property,value,...,property,value)
handle
, которые имеют заданный набор свойств к заданному значению.
инвертирует выражение в следующем Hmatch = findobj(H,'-not',property,value)
property
пара value
. Таким образом, найдите объекты, заданное свойство которых не равно value
.
обрабатывает содержимое аргумента Hmatch = findobj(H,'-regexp',property,value)
value
как регулярные выражения.
применяет логический оператор к парам имя/значение. Поддерживаемые логические операторы включают:Hmatch = findobj(H,property,value,'-logicaloperator',property,value)
'-or'
(значение по умолчанию, если вы не задаете оператор),
'-and'
xor
вызывает указатель на функцию Hmatch = findobj(H,'-function',fh)
fh
на объектах в H
и возвращает объекты, для которых функция возвращает true
.
вызывает указатель на функцию Hmatch = findobj(H,'-function',property,fh)
fh
на значении заданного свойства для объектов в H
и возвращает объекты, для которых функция возвращает true
. Функция должна возвратить скалярное логическое значение.
находит все объекты, принадлежащие заданному классу.Hmatch = findobj(H,'-class',class)
находит все объекты, принадлежащие заданному классу.Hmatch = findobj(H,'-isa',class)
находит весь объект в Hmatch = findobj(H,'-property',property)
H
, имеющем именованное свойство.
находит объекты, которые имеют заданное имя метода.Hmatch = findobj(H,'-method',methodname)
находит объекты, которые имеют заданное имя события.Hmatch = findobj(H,'-event',eventname)
задает сколько уровней в иерархиях экземпляра под объектами в Hmatch = findobj(H,'-depth',d,___)
H
, чтобы искать.
Задайте весь -options
как векторы символов или представьте скаляры в виде строки.
Найдите объект с определенным значением свойства. Учитывая класс handle
, BasicHandle
:
classdef BasicHandle < handle properties Prop1 end methods function obj = BasicHandle(val) if nargin > 0 obj.Prop1 = val; end end end end
Создайте массив объектов BasicHandle
:
h(1) = BasicHandle(7); h(2) = BasicHandle(11); h(3) = BasicHandle(27);
Найдите указатель объекта, свойство Prop1
которого имеет значение 7:
h7 = findobj(h,'Prop1',7);
h7.Prop1
ans = 7
Найдите объект с определенным динамическим свойством. Учитывая класс button
:
classdef button < dynamicprops properties UiHandle end methods function obj = button(pos) if nargin > 0 if length(pos) == 4 obj.UiHandle = uicontrol('Position',pos,... 'Style','pushbutton'); else error('Improper position') end end end end end
Создайте массив объектов кнопки, только один элемент которых задает динамическое свойство. Используйте findobj
, чтобы получить указатель объекта с динамическим свойством под названием ButtonCoord
:
b(1) = button([20 40 80 20]); addprop(b(1),'ButtonCoord'); b(1).ButtonCoord = [2,3]; b(2) = button([120 40 80 20]); b(3) = button([220 40 80 20]); h = findobj(b,'-property','ButtonCoord'); h.ButtonCoord
ans = 2 3
findobj
имеет доступ только к общедоступным участникам.
Если нет никаких соответствий, findobj
возвращает пустой массив того же класса как входной массив H
.
Приоритет логических операторов следует правилам приоритета MATLAB. Для получения дополнительной информации см. Приоритет операторов.
Управляйте приоритетом путем группировки в массивах ячеек