build a GUI有多种方法,例如使用App Designer,GUIDE或以编程方式创建它(我将在下面说明此选项).了解GUI组件和
options available for sharing data between components的
different ways to define callback functions也很重要.
我偏爱的方法是使用nested functions作为回调.这是一个简单的GUI作为示例:
function make_useless_button()
% Initialize variables and graphics:
iCounter = 0;
hFigure = figure;
hButton = uicontrol('Style', 'pushbutton', 'Parent', hFigure, ...
'String', 'Blah', 'Callback', @increment);
% Nested callback function:
function increment(~, ~)
iCounter = iCounter+1;
disp(iCounter);
end
end
运行此代码时,每次按下按钮时显示的计数器应递增1,因为嵌套函数增量可以访问make_useless_button的工作区,因此可以修改iCounter.请注意,按钮回调设置为function handle以递增,并且此函数默认情况下必须接受两个参数:触发回调的UI组件的图形句柄,以及关联事件数据的结构.我们ignore them with the ~在这种情况下,因为我们没有使用它们.
将上