Update slider Limits after loading data?
11 次查看(过去 30 天)
显示 更早的评论
I am using app designer and I created a slider called "FrameSelect".
The function called just before returns numFrames which I store to the app's properties. The line only works if I hard code the limits. How do I update the limits of this slider?
function OpenMenuSelected(app, event)
[file, path] = uigetfile('*.jpg;*.seq',"Select `.seq` file for analysis");
[app.imageSequence, app.minTemp, app.maxTemp, app.numFrames, app.frameRate] = load_image_sequence(app, strcat(path,file));
app.numFrames
app.FrameSelect.Value = 1;
limits = [1 app.numFrames]
app.FrameSelect.Limits = limits;
app.FrameSelect.MajorTicks = 1:15:app.numFrames;
notify(app.FrameSelect, 'ValueChanged');
end
Error using thermal_image_viewer/OpenMenuSelected
'Limits' must be a 1-by-2 array of real finite numbers that are increasing.
limits =
1×2 int32 row vector
1 317
And yes, numFrames is an int32 value between [200, 1500] after the load_image call.
When I hard code in a value, there is no error.
0 个评论
采纳的回答
Voss
2024-1-7
MATLAB doesn't appear to allow the Limits property of a uislider to take on int32 values, at least in R2016b.
So it's worth a shot to try casting the value to double before using it in Limits:
app.FrameSelect.Limits = [1 double(app.numFrames)];
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File 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!