2016-01-28 73 views
0

我用滑塊通過一個集合的大小是動態變化的,並且可以很好的爲1Matlab的滑塊時,最小=最大值=值= 1

但如果瀏覽我:

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

滑塊看起來像這樣,與所謂的半經驗,只要「藥谷」:

wrong slider

這是不行的,因爲如果你再點擊滑塊的左側,該值將被設置爲零,即超出範圍,並且滑塊簡單地消失。

我使用錯誤的屬性設置?

(當然,只要Min = Max = 1,我就可以set(mySld, 'enable', 'off'),但感覺像是黑客)。

+0

你用什麼版本的Matlab的呢?對於ML2013a,我無法重現這種行爲:'警告:滑塊控件要求最小值小於最大值 直到其所有參數值都有效時纔會顯示控件 ' – Daniel

回答

0

您可以使用偵聽器來檢查針對分鐘和/或最大的價值:

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)))); 
相關問題