Qt 绘制渐变图形 - 线性渐变和锥形渐变示例
以下是一份实现渐变图形的代码示例:
#include <QApplication>
#include <QWidget>
#include <QPainter>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.resize(300, 300);
QPainter painter(&w);
// 线性渐变
QLinearGradient linearGradient(0, 0, 300, 300);
linearGradient.setColorAt(0, Qt::red);
linearGradient.setColorAt(1, Qt::yellow);
// 绘制矩形
painter.fillRect(0, 0, 300, 300, linearGradient);
// 锥形渐变
QConicalGradient conicalGradient(150, 150, 0);
conicalGradient.setColorAt(0, Qt::red);
conicalGradient.setColorAt(0.5, Qt::green);
conicalGradient.setColorAt(1, Qt::blue);
// 绘制圆形
painter.setBrush(conicalGradient);
painter.drawEllipse(50, 50, 200, 200);
w.show();
return a.exec();
}
在上述代码中,我们首先创建了一个 QWidget 用于显示绘制的渐变图形,然后创建了一个 QPainter 对象用于进行绘制操作。接着,我们使用 QLinearGradient 类创建了一个线性渐变对象,并设置了起始和结束颜色。然后,我们使用 fillRect() 函数绘制了一个矩形,并将线性渐变对象作为背景色。
接着,我们使用 QConicalGradient 类创建了一个锥形渐变对象,并设置了三个颜色点,分别位于渐变的起点、中点和终点。然后,我们将锥形渐变对象设置为画刷,并使用 drawEllipse() 函数绘制了一个圆形。最后,我们展示了 QWidget 对象并进入了 Qt 应用程序的事件循环中。
执行上述代码后,我们可以看到一个带有线性渐变背景和锥形渐变圆形的窗口。这两个渐变图形的效果如下所示:
原文地址: https://www.cveoy.top/t/topic/opRX 著作权归作者所有。请勿转载和采集!