How to clear GUI variables?

11 次查看(过去 30 天)
Kev
Kev 2013-12-17
编辑: Kev 2013-12-18
Hi,
I'm trying to clear GUI variables. From what I understand, each callback function has its own workspace and separate global workspace. I'd like to clear a specific callback variables with a push button. (Callback function is blockremover_callback, I'd like to reset with a push button).
Thanks!
function clearscreen_Callback(hObject, eventdata, handles)
global xy h binary
%evalin('base','clear h')
clear blockremover_callback
xy = [];
h = [];
binary = [];
%evalin('base','clear all');
cla;

采纳的回答

Image Analyst
Image Analyst 2013-12-18
You can clear global variables with clear global.
clear global xy;
clear global h;
clear global binary;
After you clear them, if you need them you need to declare them again:
global xy;
global h;
global binary;
There is no need to clear local variables as they vanish once the function exits.
  3 个评论
Image Analyst
Image Analyst 2013-12-18
Like I said in your other question, if it thinks there is more than one image in an axes, then call cla('reset') before calling imshow() so that the axes is emptied before loading an image into it.
Kev
Kev 2013-12-18
编辑:Kev 2013-12-18
Perfect! Wish thre were emoticons on this forum. :) The problem was with resetting axis. I thought it was something else. I applied cla command in the block. I didn't know there were separate cla('reset') function also. Anyways, Thanks very much!!!

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2013-12-17
No, there is only one global workspace.
Each function may have its own persistent variables. Those variables may be cleared by using "clear" together with the function name.
  1 个评论
Kev
Kev 2013-12-18
编辑:Kev 2013-12-18
Thanks for providing link. That wiki is informative. Bookmarked! :)

请先登录,再进行评论。

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by