我有兩個GUI namesd masir和放樣
放樣GUI是masir子GUI(按下masir將打開放樣按鈕) 要訪問masir的數據放樣我有這些兩行代碼:關係主界面的和子GUI的
masirGUIhandle = masir;
masirGUIdata = guidata(masirGUIhandle);
但正如我在放樣工作(在打開的功能我已經爲我的變量設置一些初始值,現在我不希望那些運行這兩條線將運行masir的開啓功能初始值,我需要爲我的變量更改值),所以我不想讓masir GUI的OpeningFcn運行,我只需要有權訪問SetOut中的masir數據 What c我會解決這個問題嗎?
任何人都可以幫助我解答這個問題並解釋更多嗎?
I use this easy way for data sharing between GUIs
%In the end of OpeningFcn of Main GUI
setappdata(0,'HandleMainGUI',hObject);
%When you want to edit shared data you must get the handle
HandleMainGUI=getappdata(0,'HandleMainGUI');
%write a local variable called MyData to SharedData, any type of data
setappdata(HandleMainGUI,'SharedData',MyData);
%get SharedData and save it to a local variable called SomeDataShared
SomeDataShared=getappdata(HandleMainGUI,'SharedData');
Don't forget to clean up the data shared in the CloseReqFcn of you main GUI
HandleMainGUI=getappdata(0,'HandleMainGUI');
rmappdata(HandleMainGUI,'MySharedData') %do rmappdata for all data shared
Remember that your GUIs might try to getappdata that doesn't exist, you should first test if it does exist
if (isappdata(0,'HandleMainGUI') & isappdata(HandleMainGUI,'MySharedData'))
%get, set or rm appdata
else
%do something else, maybe loading default values into those variables
end
告訴我更多關於哪一行代碼應該寫在MainGUI中,哪一行應該寫在SubGUI中?
並告訴我CloseReqFcn是什麼意思?
您能否擴展該示例?不清楚你的問題是什麼。 – bdecaf 2012-04-08 08:21:01
我的問題與此問題完全相同:[link](http://www.mathworks.fr/matlabcentral/answers/338-how-to-pass-data-from-one-gui-to-another)但我需要更多的幫助,因爲答案建議不起作用 – sepideh 2012-04-08 18:58:48