Setting properties for uicontrols using for loop
1 次查看(过去 30 天)
显示 更早的评论
Dear friends, I am working on a GUI where user have to input an integer between 1 and 10. Depending to the input, I have to set the visibility of some uicontrols to "on". Since each time user may input different integer, I have to change the visibility of uicontrols. How can I do this using a for loop or any other way?
0 个评论
回答(1 个)
Luca Ferro
2023-5-31
You don't really need a loop.
Scenario 1: Numeric Edit field/Dropdown/Slider/... + Apply button
Ater the user has chosen the input, you can make him press an Apply (push button) button to actually perform the changes. The push button callback will take the input value, perform the checks and then change the visibilities of the wanted components.
It will look more or less like this:
function applyButtonPushedCallback(app,event)
%example of an edit field,keep in mind that you have to check the returned type. Some elements directly return int,
%other elements return cells, string, ...
chosenIn=app.NumericEditField.Value;
switch chosenIn
case 1
%do something
app.ThisEditField.Visible='on';
case 2
%do something
%... all other cases
end
end
Scenario 2: Numeric Edit field/Dropdown/Slider/... + ValueChangedCallback
The value changed callback by definition triggers everytime the value of the selected component changes. It will look basically the same as the one before but you don't need the apply button.
function dropDownValueChangedCallback(app,event)
%example of an edit field,keep in mind that you have to check the returned type. Some elements directly return int,
%other elements return cells, string, ...
chosenIn=event.Value;
switch chosenIn
case 1
%do something
app.ThisEditField.Visible='on';
case 2
%do something
%... all other cases
end
end
2 个评论
Luca Ferro
2023-6-16
well this is a totally different matter compared to the absolutely generic description you gave before. Please share your code or app since, at least to me, is not really clear what you are trying to do. Honestly i'm not even really sure that having 160 edit boxes is the way to go in any case, maybe we can rethink the setup as well.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!