[英]matlab variable shared to another function
在一個父函數中,我有一個與gui上的按鈕相關的回調函數。
當按下按鈕時,它要做的一件事就是定義一個需要持久的變量(比方說X),以便以后,父函數的另一個子函數可以使用X。(即回調函數A創建變量X。稍后,functionB要求知道變量X,以知道要采用的特定路徑)
有什么辦法可以解決嗎? 我已經讀過使用句柄將其傳遞給第二個函數的信息,但是我似乎無法找到一種方法來實現。
間接來自Matlab guidata
文檔 :
在第一個回調函數中:
function first_Callback(hObject, eventdata, handles)
% add some additional data as a new field called x
handles.x = 1;
% Save the change you made to the structure
guidata(hObject, handles)
在第二個回調函數中,只需使用handles.x
因為如果句柄屬於同一父圖形,則它們已作為參數傳遞給第二個回調。
function second_Callback(hObject, eventdata, handles)
% a will have the value 1
a = handles.x;
注意:即使將句柄保存到hObject
(這是調用了回調函數的當前對象)中,該句柄結構對於同一圖上的其他對象也是可見的。 將handles
結構保存到hObject
和保存到父圖形實際上是相同的。 另外,如果對handles
結構進行更改,則僅需要使用guidata
。 如果僅讀取handles
成員的值,則此后無需保存它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.