how to take input from created edit fields in app designer

29 次查看(过去 30 天)
I have created Edit Fields in the interface, but I have no idea how to store values from the created EditFields.
Example: when I enter n as 2 and press button, It creates 2 edit fields, code is as follows.
% Button pushed function: Button
function ButtonPushed(app, event)
n=app.nEditField.Value;
for i = 1:n
app.EditFields=uieditfield(app.UIFigure,'text','Position',[100 350-20*i 150 20],'Placeholder',sprintf('Enter number '));
end
end
After entering the values in editfields and pushing the button2, The values must be store in a cell.

采纳的回答

Image Analyst
Image Analyst 2022-7-19
编辑:Image Analyst 2022-7-19
I don't suggest you create them on the fly. I suggest you just create them all with known names in advance. Just set their visible property to hidden/off. Then (in the button callback if you wish) you can use a switch or if to make all visible up until the nth box and invisible after that. Then since you know their names, you can easily get the contents just like you did for n.
Attach your .mlapp file if you need more help, after you read this:
  1 个评论
Sri Vishnu Katreddi
Thank you so much, I'm using a switch case to make the fields visible. Also will upload a .mlapp file next time when i need help.

请先登录,再进行评论。

更多回答(1 个)

Monica Roberts
Monica Roberts 2022-7-19
One problem is that you aren't storing the handles to the edit fields as separate entities. As you loop, "app.EditFields" is being overwritten, so you only have access to the latest one. But in general, to access the value, you can reference the value:
app.EditFields.Value
It looks like you may want to check out this answer:
https://www.mathworks.com/matlabcentral/answers/373094-edit-field-labels-and-edit-field-numeric-loop

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by