GUI(来自指南)有一个按钮:go; go.m是一个运行无限循环的脚本。
GUI有一个需要设置变量的SHUTDOWN按钮:script_should_run = false; 当脚本go.m检测到时 script_should_run = false; 它将结束无限循环。
GUI.m如何在go.m中控制变量script_should_run?
答案 0 :(得分:0)
一般情况下我不建议使用全局变量,最好将变量放在工作区中并在无限循环中读取它。请尝试以下示例程序。它不是从指南创建的GUI,但它是相同的方式。
%GUI with two buttons
function Untitled
uicontrol('Position',[20,20,60,25],'String','go','Callback',@go_callback);
uicontrol('Position',[100,20,100,25],'String','SHUTDOWN','Callback',@stop_callback);
end
function go_callback(varargin)
script_should_run = 1;
assignin('base','script_should_run',1)
while(script_should_run == 1)
script_should_run = evalin('base','script_should_run');
disp('go')
pause(0.1) %need to pause else MATLAB will ignore when you push the stop button
end
end
function stop_callback(varargin)
assignin('base','script_should_run',0)
end