我正在使用 App Designer 开发 MATLAB GUI,尽管我的问题可能与指南类似。我想做的是将一个回调(按钮)的输出传递给另一个。原因是随着时间的推移变得高效;我希望用户能够首先加载文件,然后选择要绘制的数据列。
我尝试过建立全局变量,但这似乎不起作用。
我的项目的目标是加载包含数十个“列”数据和数百个“行”测量值的 XML 文件(例如:温度和湿度随时间变化)。我的想法是用户将按下一个按钮来加载数据,然后选择要显示的所需列。
methods (Access = private)
% Button pushed function: SelectNewFileButton
function SelectNewFileButtonPushed(app, event)
[filename, filepath] = uigetfile('..\*.*');
app.FileNameEditField.Value=filename;
app.FilePathEditField_2.Value=filepath;
end
% Button pushed function: LoadDataButton
function LoadDataButtonPushed(app, event)
% Loads XML data...
global xHead;
% EM_witsfun1 is a function which takes a file name & directory as an input, and returns the header and data
[xHead, xData, toc1]=EM_witsfun1(app.FileNameEditField.Value,app.FilePathEditField_2.Value);
app.DataLoadedinsEditField.Value=toc1; % Shows elapsed time after running the above function (just to make sure it works)
end
% Button pushed function: UpdateButton
function UpdateButtonPushed(app, event)
app.ChosenChannelNameEditField.Value=xHead{app.ChooseChannelNumberEditField.Value};
end
end
错误是:
未定义的函数或变量
xHead
。
也许在函数之外定义了一些我可以在函数内更新的东西(就像我对文本框所做的那样),但我不确定最优雅的方法是什么。
GUI显示图像: