pyqt4文件閱讀 9 1 QGradient

2021-07-24 07:01:58 字數 1406 閱讀 9183

本系列文章長期更新修改.

qgradient,是qt裡的漸變,和qcolor一樣是作圖時的基礎資料結構.

qgradient是乙個基類,實際操作的時候會使用它的三個子類qlineargradient,qradialgradient和qconicalgradient.

1.漸變型別

qt裡提供了3種漸變型別,分別是線性漸變,徑向漸變和角度漸變.效果參考下圖:

雖然不同的漸變是用不同的類表示,但qgradient還是提供了乙個列舉來判斷當前是什麼漸變.

2.漸變描述

qt裡描述乙個漸變和ps裡類似.

有一條[0,1]的數軸,我們需要在軸上畫不同顏色的點,表示從起點到終點顏色是如何漸變的.

畫點相關的函式如下:

函式含義

備註setcolorat (self, float pos, qcolor color)

畫乙個點

setstops (self, list-of-tuple-of-float-qcolor stops)

畫多個點

會刪除之前畫過的點

list-of-tuple-of-float-qcolor stops (self)

獲取當前已畫的點

3.擴散方式

漸變除了線性,徑向等型別的不同,還有擴散方式的不同,有以下三種.

列舉量含義

padspread

平鋪擴散

repeatspread

重複擴散

reflectspread

反射擴散

線性漸變和徑向漸變的三種擴散方式的效果如下圖:

(注意,角度漸變沒有擴散方式!)

和擴散方式有關的函式如下:

4.座標模式

漸變的描述除了需要那條數軸,還需要一些座標等數值,不同的漸變有不同的數值,具體參考lineargradient-radialgradient-conicalgradient篇.

而這些座標的含義有3種解釋,其中後面兩種的差別暫時未知.

列舉量含義

logicalmode

絕對座標,為真實的畫素座標(預設值)

stretchtodevicemode

相對座標,值域從0到1,表示在繪圖裝置上長寬的比例

objectboundingmode

相對座標,值域從0到1,表示在被畫物體上長寬的比例

和座標含義有關的函式如下:

pyqt4文件閱讀 6 QGridLayout

本系列文章長期更新修改.qgridlayout,網格布局,是qt裡十分常用的布局,下圖即為網格布局示意圖.1.網格系統 qgridlayout是一種網格布局系統,和css裡的bootstrap相似,但比它更複雜.乙個網格布局就是乙個矩陣,每個格仔都可以放乙個控制項或者乙個子布局,也可以乙個控制項占用...

pyqt4文件閱讀 7 QSize

本系列文章長期更新修改.qsize,是qt的乙個常用資料結構,它是整數寬度高度的封裝,本質上就是兩個int的結構體.1.主要屬性 qsize的主要屬性就是寬度和高度,所有方法都圍繞它們進行計算.初始化的時候如果沒有給出引數,寬度和高度為 1.2.函式解釋 函式 解釋transpose self 交換...

pyqt4文件閱讀 7 2 QRect

本系列文章長期更新修改.qrect,相當於qpoint qsize,但擁有更豐富的函式和操作,本質上是4個int的結構體.1.主要屬性 qrect是用來描述乙個矩形的資料結構.在座標系裡描述乙個矩形,只要4個數,分別是矩形左上角的x,y座標,以及矩形的寬度和高度,也就是qpoint qsize.注意...