【问题标题】:Matlab slider when Min=Max=Value=1当 Min=Max=Value=1 时的 Matlab 滑块
【发布时间】:2016-01-28 10:36:30
【问题描述】:

我使用滑块浏览大小动态变化的集合,很可能是 1。

但如果我:

set(mySld, 'min', 1, 'max', 1, 'value', 1, 'sliderstep', [1 1])

滑块看起来像这样,所谓的拇指是“槽”的一半:

这是不行的,因为如果您随后单击滑块的左侧,该值将设置为零,即超出范围,滑块就会消失。

我是否使用了错误的属性设置?

(当然,只要 Min=Max=1,我可以set(mySld, 'enable', 'off'),但感觉就像是 hack)。

【问题讨论】:

  • 你使用什么版本的 Matlab?使用 ML2013a 我无法重现该行为:Warning: slider control requires that Min be less than Max Control will not be rendered until all of its parameter values are valid

标签: matlab slider matlab-guide


【解决方案1】:

您可以使用侦听器来检查最小值和/或最大值的值:

figure; 
% create the uicontrol
sl = uicontrol ( 'style', 'slider', 'min', 1, 'max', 1, 'value', 1, 'sliderstep', [1 1]);
% create a listener to check the value are reset appropriately
addlistener ( sl, 'Value', 'PostSet', @(obj,event)set ( sl, 'Value', max(sl.Min,  min(sl.Value,sl.Max))) );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2020-09-09
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    相关资源
    最近更新 更多