QT中QDial設置刻度的問題,網上找了,沒看見有幾個說清了,這裏給解釋一下。
這裏解釋兩個問題:
1)大刻度
2)小刻度
上面那張圖只有大刻度,下面這張圖大刻度小刻度(別糾結這個名稱)都有。
大刻度設置:
Dial->setPageStep(5);
這裏的QDial對象名爲Dial,用setPageStep方法。
裏面有一個參數,我這設置成5的話,意思就是再經過5個刻度(不分大小刻度)到下一個大刻度,大家看第二張圖就能明白。
具體的,這個方法大家可以去幫助文檔查。
別太糾結我寫的,可能有人會說,setPageStep不是設置每按一次PageUp和PageDown所移動的距離的嗎?
我不解釋。
小刻度設置:
Dial->setMinimum(0);
Dial->setMaximum(59);
Dial->setNotchTarget(1);
這裏的QDial對象名爲Dial。
先要設置Dial的總寬度(上面圖用紅色框框表示的這種距離之和),也就是用setMinimum和setMaximum這兩個方法,設置最小值和最大值, 相信大家知道0~59總共有多少個整數吧,60個,在這裏,我們的總寬度是59(別管單位)。
然後用setNotchTarget設置兩個刻度間的距離,這裏的值是1,也就是每兩個刻度間都僅隔着1個單位的寬度。
在這裏,我們知道總寬度是59,兩刻度間的寬度是1,算出來,就是有60個刻度。
這個可能沒解釋清,不過大家湊合看着,相信你們會懂的。
前提:
setNotchesVisible(true);
先要設置刻度可見。