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

2 次查看(过去 30 天)
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??

采纳的回答

Mario Malic
Mario Malic 2021-2-22
编辑:Mario Malic 2021-2-22
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 个评论
Mario Malic
Mario Malic 2021-2-22
编辑:Mario Malic 2021-2-22
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by