Restricting app slider values
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Harpreet
el 12 de Dic. de 2022
Comentada: Cris LaPierre
el 14 de Dic. de 2022
Is there a way to restrict the values a slider in an app can take? I want to define an array of increasing numbers and have that be all the values the slider is allowed to take as I move it and NOT take on any other values. So for example if the first two values in my array are 1.23 and 2.45, I want the slider two start at 1.23 and when I move it to the right, it should go to 2.45 and NOT 1.4 or anything like that.
Thanks in advance!
0 comentarios
Respuesta aceptada
Cris LaPierre
el 12 de Dic. de 2022
Editada: Cris LaPierre
el 12 de Dic. de 2022
Is the spacing between values uniform? If so, you can set the step property.
If not, I think you would have to have your callback function process the slider value and set it to the predetermined value that is closest.
% Assume this is the slider value
value = 2.1;
% Assume this is the list of values you want the slider to take
myVals = [1.23 2.45 3.76 4.01];
% find the closest value
[~,ind] = min(abs(myVals-value))
valAct = myVals(ind)
Once you have identified the predefind value to use, set the slider's value property to that value.
app.Slder.Value = valAct;
I wrote the code the way I did so that it will execute here. You will of course need to adapt it to work within your app.
3 comentarios
Cris LaPierre
el 14 de Dic. de 2022
Sorry for the confusion. Only sliders in live tasks have a step property. So a uislider has the same properties as the slider component in an app.
If you want to only display accepted values on the tick labels, I would probably just programmatically set the slider ticks in a startupFcn. Note that a slider does not snap to the ticks. The previous answer I shared could be used for that purpose.
% Code that executes after component creation
function startupFcn(app)
app.Slider.MajorTicks = 1.23:1.22:15;
end
Más respuestas (0)
Ver también
Categorías
Más información sobre Develop Apps Using App Designer en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!