Qt之QSlider圓形滑柄樣式

2021-10-04 19:51:30 字數 614 閱讀 7219

qslider的滑柄樣式設計遵循box model,但是在設計的過程中,我發現,邊界的寬度變化會對滑柄高度造成擠壓,這種擠壓使得滑柄樣式設計需要一些特殊處理。下面以圓形滑柄樣式設計來介紹這種擠壓的處理方法。

通常border的變化不會對contents造成影響,以qpushbutton為例,如下所示:

但是在qslider的handle中卻會出現如下情況

contents的水平尺寸沒變,但是垂直尺寸卻被邊界擠壓了。

要設計圓形滑柄,先要準備乙個border和contents都是正方形的滑柄。由於垂直方向的contents被border佔據了一部分,所以contents的垂直尺寸要比水平尺寸大兩倍的邊界寬度。contents的垂直尺寸為滑槽高度和上下邊距之和,設計步驟如下:

當然,可以隨意調整,只要滿足如下公式:

槽寬度+上下邊距=水平尺寸+兩倍邊界寬度

最終效果如下:

QT控制項之QSlider

singlestep 比如按下鍵盤的左右建,每次移動的距離 pagestep 比如用滑鼠對準滑動條的前面按下,每次移動的距離 value 初始預設值 接下來看該控制項擁有的訊號 重點看後面的四個,看字面意思就不難理解,分別為 移動,按下,釋放,改變,接下來看什麼情況會觸發 首先定義了四個槽函式,看訊...

Qt 常用控制項QSlider學習

qslider部件提供了乙個垂直或水平滑動條。今天的主角是qsilder,qsilder繼承於qabstractslider,它的大多功能在qabstractslider,通過setvalue 來設定當前值,使用setsinglestep setpagestep 用來設定步長,setminimum ...

Qt滑動條的使用 QSlider

在把camshift移植到qt中時,需要滑動條來對閾值進行修改,這時候因為opencv本身的滑動條在qt中無法使用,所以想到使用qslider來實現,感覺來說還是非常簡單。做個記錄!學習!分享!感謝!其實滑動條主要用來實現當滑動條的數值發生變化的時候,通過對應的文字框顯示出滑動條的數值,這是滑動條最...