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

2 visualizzazioni (ultimi 30 giorni)
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??

Risposta accettata

Mario Malic
Mario Malic il 22 Feb 2021
Modificato: Mario Malic il 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 Commenti
Mario Malic
Mario Malic il 22 Feb 2021
Modificato: Mario Malic il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Develop Apps Using App Designer in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by