Когда я открываю .fig из другого рисунка в графическом интерфейсе Matlab, он не работает

Я создаю графический интерфейс с некоторым графическим интерфейсом, когда я открываю .fig из фигуры с помощью «open menu.fig», он открывается хорошо, но когда я использую кнопку для изменения некоторых свойств компонентов фигуры с помощью «set (handles. text1, 'string', "123") "не работает. ОШИБКА: Попытка ссылаться на поле неструктурного массива. но когда я открываю этот Фиг в Matlab не из другого графического интерфейса, он работает правильно.


person Mingul    schedule 04.08.2013    source источник


Ответы (1)


Для этого есть несколько возможных причин. Очевидно, что handles.text1 не существует, когда вы вызываете "set (handles.text1, 'string'," 123 ")". Полагаю, у вас здесь неправильная ручка ...

Структура дескрипторов содержит только дескрипторы собственных элементов (ну, по умолчанию .. вы можете добавить все, что вам нужно, если хотите)

Чтобы получить ручку другой фигуры, вам нужно найти эту фигуру или ручку элемента напрямую. вы можете сделать это, как описано здесь:

как-сделать-я-получить- the-handle-of-all-open-figure-in-matlab

В твоем случае

figHandles = findall(0,'Tag','text1');

поможет, но только если есть только один элемент с этим тегом !!

если у вас есть ручка другой фигуры (myFigure, вы можете использовать:

figHandles = findall(myFigure,'Tag','text1');

Вы также можете использовать

output = open("menu.fig")

чтобы получить указатель на новую фигуру напрямую ->

figHandles = findall(output ,'Tag','text1');

сделаю свою работу :)

person Lucius II.    schedule 05.08.2013