2015-04-20 127 views
0

我對MATLAB比較新,所以如果這是一個相當基本的問題,請原諒我。我想了解如何操作變量並在GUI中的函數之間傳遞結果。在MATLAB GUI中使用句柄在函數之間傳遞變量

如果我使用GUIDE界面設置GUI,我會得到幾個函數。我想單擊按鈕時執行某個操作,保存一個變量,然後在另一個函數中使用該變量。

function pushbutton1_Callback(hObject, eventdata, handles) 
    handles.MyData = 7; 

現在,因爲該數據被保存在手柄可我不能簡單地以這種方式在GUI中的其他功能使用?

function pushbutton2_Callback(hObject, eventdata, handles) 
    result = 5 + handles.MyData; 

這是一個非常簡單的例子,但我想靜下心來,如何傳遞變量的邏輯。我知道那裏有很多信息,並且我已經閱讀了它,但我無法理解變量如何存儲在結構中以及它們如何在函數之間傳遞的邏輯。

回答

3

當您更新的手柄結構,你要存儲它使用guidata

guidata(hObject, handles); 

然後你就可以在不同的回調中使用它。

+0

就這樣,我正確理解這一點。如果在處理更新的每個函數的末尾添加了guidata(hObject,handles);它會更新全局的句柄結構? – amkas90

+0

@ amkas90:是的。閱讀幫助(鏈接在答案中提供)。 – ThP

+0

謝謝。我讀過它,但我不明白我失蹤的部分。感謝你的幫助。 – amkas90