Почему этот класс MATLAB не держит свои свойства?
Там должно быть что-то очень простое, что я здесь скучаю. У меня есть класс MATLAB, который создает фигуру, содержащую две кнопки, каждая кнопка вызывает одну и ту же функцию, но маркеры для этих кнопок не сохраняются в этой функции, и я не знаю почему.
Вот класс, упрощенный ...
classdef Test
properties
Figure
ButtonA
ButtonB
end
methods
function app = Test()
app.Figure = figure();
app.ButtonA = uicontrol('Style', 'pushbutton', ...
'String', 'Button A', ...
'Position', [10, 10, 100, 20], ...
'Callback', @app.PressButton);
app.ButtonB = uicontrol('Style', 'pushbutton', ...
'String', 'Button B', ...
'Position', [10, 120, 100, 20], ...
'Callback', @app.PressButton);
end
function PressButton(app, Button, ~)
Button
app.ButtonA
app.ButtonB
end
end
end
Если я позвоню, он откроет рисунок и отобразит номера дескрипторов для кнопок:
>> T = Test
T =
Test with properties:
Figure: 8
ButtonA: 745.000122070313
ButtonB: 103.002319335938
>> T.ButtonA
ans = 745.000122070313
>> T.ButtonB
ans = 103.002319335938
Если я нажимаю кнопку A, функция возвращает два пустых значения, как если бы свойства не были установлены:
Button =
745.000122070313
ans =
[]
ans =
[]
Если я нажимаю кнопку B, функция возвращает значение для кнопки A, но пустое значение для кнопки B:
Button =
103.002319335938
ans =
745.000122070313
ans =
[]
Буду очень признателен за любые предложения.