[英]How do I access controls on my GUIDE figure from other functions?
我正在使用GUIDE
為我的MATLAB
項目創建GUI
。
在按鈕的回調之一中,我調用了一個函數。
[Name]= otherFunction(inputVariable);
set(handles.name,'String',Name);
收到該函數的輸出后,將名稱標簽設置為Name的值。 是否可以從函數內部進行設置? 我必須做些什么才能允許該函數訪問GUIData?
我嘗試從該函數內部使用set / get,但似乎無法正常工作。
或者,是否有我可以使“句柄”全局可用的功能?
從空白的GUI開始,只需向其添加按鈕(標記為“ btnTest”),以下代碼即可正常工作:
%% --- Executes on button press in btnTest.
function btnTest_Callback(hObject, eventdata, handles)
%[
changeName(handles);
%]
%% --- Inner function
function [] = changeName(handles)
%[
set(handles.btnTest, 'String', 'toto');
%]
因此,您的代碼中可能還存在其他錯誤。
如果您不打算將“句柄”結構傳遞給“ changeName”函數(即,全局具有句柄),則可以這樣進行:
%% --- Executes on button press in btnTest.
function btnTest_Callback(hObject, eventdata, handles)
%[
changeName();
%]
%% --- Inner function
function [] = changeName()
%[
handles = guihandles(); % recover handles for current figure
set(handles.btnTest, 'String', 'toto');
%]
但這比直接傳遞“句柄”要慢得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.