Как добавить компоненты в существующий графический интерфейс, созданный руководством?
-
27-10-2019 - |
Вопрос
Я только что создал графический интерфейс, используя руководство в Matlab для небольшого проекта, над которым я работаю. У меня есть два текстовых поля для из а также к даты. Теперь я хотел бы избавиться от них и использовать инструмент выбора Java Date. Конечно, это невозможно использовать руководство, поэтому мне нужно добавить их вручную. Мне удалось заставить их появиться, поместив этот код в свой Opens_fcn,
uicomponent(handles, 'style','com.jidesoft.combobox.DateChooserPanel','tag','til2');
с использованием Uicomponent.
Но даже если это появляется, я не могу получить доступ к атрибутам выбора даты, например,
get(handles.til2)
возврат
??? Reference to non-existent field 'til2'.
Как я могу это исправить?
Решение
Если вы не отредактируете сохраненную фигуру графического интерфейса, основной handles
Структура не будет включать ваш новый компонент по умолчанию.
Один из способов доступа к вам компонент - сохранить ручку через Guidata, добавив следующее к вашей функции открытия:
handles.til2 = uicomponent(handles, 'style','com.jidesoft.combobox.DateChooserPanel','tag','til2');
guidata(hObject,handles)
Функции, которые должны получить доступ к ручке, нуждаются в линии
handles = guidata(hObject)
Чтобы вернуть структуру полной ручки, которая включает в себя подачу til2