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