how to save variable from class of GUI to workspace?
조회 수: 2 (최근 30일)
이전 댓글 표시
below here is in GUI,where dial() is a class which i used for created a knob in GUI,i need to save Value in dial() class to workspace ,and when i change the knob in GUI,variable VALUE will change,that should be updated to workspace variable.i need help here
snap = dial('refVal',0,...
'refOrientation',255*pi/180,...
'valRangePerRotation',5, ...
'Min',1, ...
'Max',4,...
'Value',1,...
'doSnap',1,...
'Position',thisPos,...
'dialRadius',0.35,...
'tickRadius',0.45,...
'tickLabelRadius',0.45,...
'HorizontalAlignment','left',...
'Tag','snapDial', ...
'tickVals', [1 2 3 4],...
'tickStrs',{'one' 'two' 'three' 'four'});
댓글 수: 0
답변 (2개)
Image Analyst
2014년 6월 9일
See the FAQ for several methods you can use: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.28s.29.3F
댓글 수: 0
Ben11
2014년 6월 6일
편집: Ben11
2014년 6월 6일
Maybe you could use setappdata(...) in your GUI to store dial() and then use getappdata(...) to retrieve it in the workspace? I have never used it with classes but it could work.
For example, in your GUI you could write:
setappdata(0,'Name of your variable',variable); %where variable would be dial() and the name is arbitrary.
% Update handles structure;
guidata(hObject,handles);
Then in the workspace:
VariableInWorkspace = getappdata(0,'Name of your variable');%where 'Name of your variable' is the same as that using setappdata in the GUI.
댓글 수: 3
Ben11
2014년 6월 9일
You can put setappdata in the opening function of your GUI as well and also at the beginning of your function callbacks if you need to use information from dial() in them.
You can use the line (VariableInWorkspace = getappdata(0,...)) I wrote in the above answer directly in the workspace and it should work. If you call external scripts you would also need to write getappdata() at the beginning and setappdata() at the end to update your variables.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!