2017-01-17 3 views
0

При использовании руководства в Matlab для создания графического интерфейса с панелью инструментов вы можете использовать предопределенные элементы панели инструментов, например. открывать файл, увеличивать и уменьшать масштаб ... Вы перетаскиваете их в свой графический интерфейс, и когда вы нажимаете на один из своих значков, выполняется автоматический сгенерированный обратный вызов. Есть ли способ выполнить эти автоматически сгенерированные обратные вызовы из вашего кода самостоятельно? Я хотел бы включить некоторые функции, предоставляемые этими элементами панели инструментов в меню графического интерфейса.Как вызвать обработчики событий панели инструментов Matlab

ответ

1

Вы можете назначить настраиваемый тег для элемента панели инструментов в разделе «Свойства инструмента». Это имя тега указывает поле внутри структуры handles, которое содержит дескриптор инструмента панели инструментов.

enter image description here

Вы можете получить назначенную функцию обратного вызова через ClickedCallback собственности, а затем выполнить обратный вызов программно с помощью hgfeval

function mycallback(hObject, eventdata, handles) 
    cback = get(handles.mypushtool, 'ClickedCallback'); 
    hgfeval(cback) 
end 

Если вы хотите, чтобы просто скопировать функцию обратного вызова в меню, вы можете Измените, пожалуйста, свой OpeningFcn, так что вы просто скопируете ClickedCallback объект данного оборудования в меню

function myGUI_OpeningFcn(hObject, eventdata, handles) 
    set(handles.mymenuitem, 'Callback', get(handles.mytoolbaritem, 'ClickedCallback')); 
end 
Смежные вопросы