本系列文章長期更新修改.
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.注意...