【发布时间】:2010-09-21 07:30:14
【问题描述】:
是否可以从函数内部编写 GUI?
问题是所有 GUI 函数的回调都是在全局工作区中评估的。但是函数有自己的工作空间,不能访问全局工作空间中的变量。是否可以让 GUI 函数使用该函数的工作区?例如:
function myvar = myfunc()
myvar = true;
h_fig = figure;
% create a useless button
uicontrol( h_fig, 'style', 'pushbutton', ...
'string', 'clickme', ...
'callback', 'myvar = false' );
% wait for the button to be pressed
while myvar
pause( 0.2 );
end
close( h_fig );
disp( 'this will never be displayed' );
end
此事件循环将无限期运行,因为回调不会修改函数中的myvar。相反,它将在全局工作区中创建一个新的myvar。
【问题讨论】:
标签: matlab function user-interface