簡體   English   中英

如何通過其他功能訪問GUIDE圖形上的控件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM