我正在尝试在应用程序设计器中保存用户输入(MATLAB)。我创建了一个空结构体,但我无法确定列表框中的项目保存在哪里。使用Matlab,通常会创建一个矩阵,人们可以使某些UI组件持久化,但这似乎不是应用程序设计器的情况。我附上了代码的副本,这不是完整的代码,而是列表框的区域
properties (Access = public)
myStruct = struct()
end
% Callbacks that handle component events
methods (Access = private)
% Callback function: NEXTButton_4, WelcomeTab
function ButtonPushed(app, event)
app.TabGroup.SelectedTab = app.AgeTab
end
% Value changed function: ListBox
function ListBoxValueChanged(app, event)
value = app.ListBox.Value;
if strcmp(app.ListBox.Value ,'18-28')||strcmp(app.ListBox.Value ,'29-39')||strcmp(app.ListBox.Value,'40-50')||strcmp(app.ListBox.Value,'51-61')...
||strcmp(app.ListBox.Value,'62-72');
set(app.NEXTButton,'Enable','on');
Age = app.myStruct.Age;
end
Age = app.ListBox.Value;
% save('Age.mat',"Age")
% save('Dummyfile.mat', '-struct', myStruct)
% for i = 1:numel(app.ListBox.Items)
% index(i) = isequal(app.ListBox.Value{1}, [app.ListBox.ItemsData{i}]);
% end
% idx = find(index); % Find indice of nonzero element
% ItemName = app.ListBox.Items{idx}
我试着创建一个索引,但没有成功。
1条答案
按热度按时间vbopmzt11#
我不确定我是否正确理解了这个问题,但是,如果要保存所有选定项目的值,可以:
将两个
properties
添加到应用程序:cellarray
,其中存储所选项目的值;如果只需要保存它,就不需要结构体在
startupFcn
中:ListBoxValueChanged
将不会捕获对它的选择)在
ListBoxValueChanged callback
中:注意:您可以很容易地修改上述ListBoxValueChanged回调的代码,以考虑
if
条件