Как добавить компоненты в существующий графический интерфейс, созданный руководством?

StackOverflow https://stackoverflow.com/questions/4864223

Вопрос

Я только что создал графический интерфейс, используя руководство в 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top