У меня есть кнопка загрузки на панели инструментов gui. Когда я нажимаю на нее, это позволяет мне выбрать файл из диалогового окна. Я открываю файл .mat, в котором есть объект с именем sys
.MATLAB GUI «забывает» объекты после изменения структуры ручек
После того, как я выбираю файл, обратный вызов должен выполнить следующий код:
handles.sys = sys;
%% A bunch of other stuff to populate values from sys into the gui text fields %%
Для остальной части кода в этом обратного вызова я могу позвонить handles.sys и увидеть, что все есть. Однако, когда я выхожу из этой функции, handleles.sys больше не равен sys. Кажется, что gui «забыл» или скрепил объект handleles.sys.
Почему это происходит и как правильно это сделать? Нужно ли мне восстановить весь мой объект sys с помощью конструктора, а затем вызвать handles.sys = newsys
? Это происходит потому, что объект sys существует только во временном рабочем пространстве функции openfile_Callback
?
Мне пришлось использовать 'guidata (handleles.figure1, handle);' потому что это то, что по умолчанию создает Matlab. – toshiomagic
@toshiomagic Право. Как я уже сказал, я просто использовал 'handles.fig' в качестве примера. Все будет по-другому. – Suever