我正在使用MATLAB GUI。
当我尝试访问使用按钮定义的变量时,它未在弹出菜单中定义。变量;它应该设置为'global',因此它在整个程序中定义。我可以在任何回调中使用它。
你们有没有想过如何让变量“全球化”?
答案 0 :(得分:8)
无论何时在您的代码中访问全局变量(例如,不同的脚本文件,函数等),都应该声明为:global globalVariable;
。例如:
function myGUI_OpeningFcn(hObject, eventdata, handles, varargin)
global myGlobalVar;
myGlobalVar = [...]
[...]
end
function btnWriteFile_Callback(hObject, eventdata, handles)
global myGlobalVar;
if myGlobalVar [...]
[...]
end
请注意,在两个函数中,变量都被声明为全局,以便它们可以访问它。
答案 1 :(得分:0)
执行此操作的官方方法是使用guidata
功能。
http://www.mathworks.com/matlabcentral/answers/88518-create-a-global-variable-in-a-gui