我一直在尝试编写一个 GUI,它应该接收一个变量作为输入并执行几个生成另一个变量的操作。GUI 将有一个关闭 GUI 的按钮。
我不是(也不想)使用 GUIDE。
下面,我提供了一个简单的 GUI 工作示例,它简单地将一个添加到输入变量。“完成”按钮关闭 GUI,但我找不到将变量导出到工作区的方法。
% Is this the correct way to initialize the function for what I am trying to do?
function outputVariable = exampleGUI(inputVariable)
% Initialize main figure
hdl.mainfig = figure();
% Add Button
hdl.addPushButton = uicontrol(hdl.mainfig, 'Units', 'normalized',
'Position', [0.05 0.6 0.3 0.25], 'String',
'Add One', 'Callback', @addOne);
% Done Button
hdl.donePushButton = uicontrol(hdl.mainfig, 'Units', 'normalized',
'Position', [0.65 0.6 0.3 0.25], 'String',
'Done', 'Callback', @done);
% Static text
hdl.sliceNoText = uicontrol(hdl.mainfig, 'Style', 'text',
'Fontsize', 16, 'Units', 'normalized',
'Position', [0.35 0.2 0.3 0.25]);
function addOne(~, ~, ~)
inputVariable = inputVariable + 1; % add one to the current inputVariable
set(hdl.sliceNoText, 'String', num2str(inputVariable)); % change static text
newVariable = inputVariable; % new variable to be exported
end
function done(~, ~, ~)
delete(hdl.mainfig); % close GUI
end
end
我想做类似的事情:
在工作区中:
outputVariable = exampleGUI(inputVariable)
在向输入变量添加一定次数后,我将按下“完成”按钮,GUI 将关闭,工作区将包含 inputVariable 和 outputVariable。
非常感谢。
弗内里