漸變填充簡例

2021-06-25 22:37:35 字數 1797 閱讀 1450

qt中提供了三種漸變方式,分別是線性漸變,圓形漸變和圓錐漸變。如果能熟練應用它們,就能設計出炫目的填充效果。

線性漸變:

1.更改函式如下:

void dialog::paintevent(qpaintevent *)

效果如下:

圓形漸變:

1.更改函式內容如下:

qradialgradient radialgradient(200,100,100,200,100);

//其中引數分別為圓形漸變的圓心(

200,

100),半徑

100,和焦點(

200,

100)

//這裡讓焦點和圓心重合,從而形成從圓心向外漸變的效果

radialgradient.setcolorat(0,qt::black);

radialgradient.setcolorat(1,qt::yellow);

//漸變從焦點向整個圓進行,焦點為起始點

0,圓的邊界為

1qpainter painter(this);

painter.setbrush(radialgradient);

painter.drawellipse(100,0,200,200);

//左上角座標,高度,寬度

//繪製圓,讓它正好和上面的圓形漸變的圓重合

效果如下:

2.要想改變填充的效果,只需要改變焦點的位置和漸變的顏色位置即可。

改變焦點位置:qradialgradient radialgradient(200,100,100,100,100);

效果如下:

錐形漸變:

1.更改函式內容如下:

//圓錐漸變

qconicalgradient conicalgradient(50,50,0);

//圓心為(50,

50),開始角度為

0conicalgradient.setcolorat(0,qt::green);

conicalgradient.setcolorat(1,qt::white);

//從圓心的

0度角開始逆時針填充

qpainter painter(this);

painter.setbrush(conicalgradient);

painter.drawellipse(0,0,100,100);

效果如下:

2.可以更改開始角度,來改變填充效果

qconicalgradient conicalgradient(50,50,30);

開始角度設定為30度,效果如下:

漸變填充Gradient

漸變,是指逐漸的,有規律性的變化,是一種規律性很強的現象。qt提供了乙個與漸變相關的qgradient類,目前支援三種漸變畫刷,分別是線性漸變 qlineargradient 輻射漸變 qradialgradient 角度漸變 qconicalgradient 如下圖所示 從左到右依次為 線性漸變 ...

excel怎麼漸變填充

excel怎麼漸變填充?以office excel 2016示例操作步驟如下 我們需要的工具有 電腦 office excel 2016 1 首先開啟excel 選擇好需要填充漸變顏色的資料內容,然後點選上方選單欄的 開始 選單。2 然後在選單裡找到 條件格式 選項,點選後 新建規則 也可直接使用上...

Qt學習 QPainter之漸變填充

前面說了有關反走樣的相關知識,下面來說一下漸變。漸變是繪圖中很常見的一種功能,它是利用顏色插值使得兩個或更多顏色之間能夠平滑過渡,簡單來說就是可以把幾種顏色混合在一起,讓它們能夠自然地過渡,而不是一下子變成另一種顏色。它們常被用來建立二維圖形的三維效果。漸變的演算法比較複雜,寫得不好的話效率會很低,...