1. 程式人生 > 實用技巧 >Qt Qss 漸變顏色設定

Qt Qss 漸變顏色設定

1.漸變顏色設定有:qlineargradient(線性漸變顏色設定),qradialgradient(輻射漸變),qconicalgradient(圓錐形漸變)。

1  QLinearGradient:顯示從起點到終點的漸變。
2  QRadialGradient:以圓心為中心顯示漸變。
3  QConicalGradient:圍繞一箇中心點顯示漸變。 
4  QGradient::PadSpread :填充區域內最接近的停止顏色。這是預設的。
5  QGradient::RepeatSpread : 在區域外繼續重複填充。
6  QGradient::ReflectSpread : 在區域外反射填充。

2.漸變過程x1->x2 從左向右漸變;y1->y2從上向下漸變。如果只有x相等,則表示垂直線性漸變,如果只有y相等,則表示平行線性漸變,否則就是斜角線性漸變。

3.左右漸變,如程式碼

1 QLabel#label{
2 background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,
3 stop:0 red,stop:1 green);
4 }

4.上下漸變

1 QLabel#label{
2 background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
3 stop:0 red,stop:1
green); 4 }

5.左右,上下

1 QLabel#label{
2 background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1,
3 stop:0 red,stop:1 green);
4 }

6.x1,x2,y1,y2都是設定成0或者1,顏色都一樣是紅色

1 QLabel#label{
2 background-color: qlineargradient(x1:1, y1:1, x2:1, y2:1,
3 stop:0 red,stop:1 green);
4 }

7.增加多個漸變點

1 QLabel#label{
2 background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, 3 stop:0 red,stop:0.2 blue,stop:0.5 red, stop:1 green); 4 }

8.輻射漸變

以圓心為中心顯示漸變。(cx, cy)是中點,半徑(radius)是以中點為圓心的圓的半徑,(fx, fy)是漸變的起點。

 1 QLabel#label{
 2     background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,
 3     stop:0 rgba(0, 0, 0, 255),
 4     stop:0.19397 rgba(0, 0, 0, 255),
 5     stop:0.202312 rgba(122, 97, 0, 255),
 6     stop:0.495514 rgba(76, 58, 0, 255),
 7     stop:0.504819 rgba(255, 255, 255, 255),
 8     stop:0.79 rgba(255, 255, 255, 255),
 9     stop:1 rgba(255, 158, 158, 255))
10 }

9. 圓錐形漸變

在(cx, cy)座標上以角度(angle)為中心顯示漸變。

1 QLabel#label{
2 background-color: qconicalgradient(cx:0.5, cy:0.5, angle:0,
3 stop:0 rgba(255, 255, 255, 255), stop:0.373979 rgba(255, 255, 255, 255),
4 stop:0.373991 rgba(33, 30, 255, 255), stop:0.624018 rgba(33, 30, 255, 255),
5 stop:0.624043 rgba(255, 0, 0, 255), stop:1 rgba(255, 0, 0, 255))
6 }