QT | 探究background-color: qlineargradient
恩,
QPushButton:pressed{
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #dadbde, stop:1 #f6f7f);
}
這個background-color: qlineargradient這句程式碼是啥子意思,怎麼用的。
網上找,不知道答案。查閱help文件:
The QLinearGradient class is used in combination with QBrush to specify a linear gradient brush.
這個QLinearGradient類用於與QBrush一起,指定一個線性漸變畫筆。
Linear gradients interpolate colors between start and end points. Outside these points the gradient is either padded, reflected or repeated depending on the currently set spread method:
在起點和終點之間線性梯度地插入顏色。在這些點之外,梯度也是根據當前設定spread方法來填充、反射或重複。
The colors in a gradient is defined using stop points of the QGradientStop
使用QGradientStop型別的stop points來定義梯度的顏色,比如,一個位置和顏色,使用QGradient::setColorAt()或者QGradient::setStops()方法來定義stop points。這是一個完整的stop points的梯度設定,描述梯度區域被如何進行填充。如果沒有指定stop points,則預設使用0為黑,1為白的梯度。
In addition to the functions inherited from QGradient, the QLinearGradient class provides the finalStop() function which returns the final stop point of the gradient, and the start() function returning the start point of the gradient.
除了繼承自 QGradient的方法, QLinearGradient類也提供了 finalStop()方法,用來返回梯度的最終stop point; start()方法用來返回梯度的start point。
現在只能猜想,這是一個設定背景顏色漸變的。
(1)如果改成:
(2)如果改成
(3)如果改成
(4)如果改成
從上面的四個結果,猜想:
假想背景為1X1的一個區域,x1,y1表示起點,x2,y2表示終點。漸變方向為起點指向終點,stop後面的數值為……不會總結了,對(2)分析見圖: