Я работаю над довольно сложным (для меня) графическим интерфейсом в Matlab, программным путем без GUIDE.Назначение guihandles в программном дизайне GUI Matlab
Различные, но схожие способы организации объектов GUI меня путают. Пожалуйста, скажите мне, где мое понимание неверно, и если они на самом деле разные у всех:
Что такое функциональное различие между двумя следующими ручками структуры:
1) обрабатывает заселенной ... обрабатывает? ... объектов GUI, созданных явно с помощью дескрипторов . префикс. Функция guidata используется в функциях обратного вызова, чтобы получить последнюю копию ручек, а затем сохранить ее.
handles.button = uicontrol(...);
guidata(handles.fig,handles);
появляется в ручками как кнопку.
2) обрабатывает заселена 'Tag' полей объектов GUI на рисунке рис. Эта структура создается после (?) Рисования всех ваших объектов GUI, используя guihandles.
button = uicontrol(...'Parent',fig,'Tag','push'...);
handles = guihandles(fig);
появляется в ручек как толчок.
guidata функция не кажется, сохранить ручки STRUCT сделанные guihandles. Нужно ли вместо этого использовать handles = guihandles (fig) в конце каждого обратного вызова?
Или я думаю о неправильном строении второго типа и беспокоится о ручках . префикс не нужен вообще? Поскольку создание нового объекта GUI и сразу ввод только
guihandles
в консоль показывает новый объект GUI, перечисленный со своими старыми объектами GUI. Но я вижу, этот новый объект хранится открыто в моей рабочей области, а не под ручками пока я не использовать
handles = guihandles;
снова.
Прошу прощения, если для получения того, что я прошу, перечитайте или перечитайте все два из приведенных выше.