how can I store the values ​​that the user enters in an uieditfield?

1 view (last 30 days)
i built an array's uieditfield by the app designer code view?. In thi way:
g= app.GridLayout;
% fill array
lbl1 = uilabel(g);
lbl1.Text = 'array 1 '; lbl1.FontSize = 16;
lbl1.Layout.Row = 2;
lbl1.Layout.Column = 1;
for i=1:3
ef = uieditfield(g,'numeric');
ef.Layout.Row = 2;
ef.Layout.Column = i+1;
ef.FontSize = 14;
end
how can i store in a variable the values ​​that the user inserts in an uieditfield??

Accepted Answer

Mario Malic
Mario Malic on 22 Feb 2021
Edited: Mario Malic on 22 Feb 2021
Hello,
You can set your ef to be the property of the app.
% This is in properties block
properties(access = private)
ef = gobjects()
end
Reference the property by adding the indexing into app
for i=1:3
app.ef(i) = uieditfield(g,'numeric');
app.ef(i).Layout.Row = 2;
app.ef(i).Layout.Column = i+1;
app.ef(i).FontSize = 14;
end
Access the value for first component with
app.ef(1).Value
  3 Comments
Mario Malic
Mario Malic on 22 Feb 2021
Edited: Mario Malic on 22 Feb 2021
Alright, I see now.
It's a weird interaction between property and a graphic object.
It looks like you have to initialise the ef property as a graphic array, i'll update the code in the answer.

Sign in to comment.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!