可以通过在 paintEvent 中绘制背景实现 QWidget 的背景颜色渐变。具体步骤如下:
在 QWidget 的子类中重写 paintEvent 函数。
创建 QLinearGradient 对象,并设置其起点和终点。
添加想要的颜色停止点,可以使用 addColorStop 方法。
使用 QPainter 绘制背景,使用 setBrush 设置背景为 LinearGradient 对象。
调用 QWidget 的 paintEvent 函数。
示例代码:
void MyWidget::paintEvent(QPaintEvent *event)
{
// 创建线性渐变对象
QLinearGradient gradient(0, 0, width(), height());
gradient.setColorAt(0, Qt::blue);
gradient.setColorAt(0.5, Qt::green);
gradient.setColorAt(1, Qt::red);
// 绘制背景
QPainter painter(this);
painter.setBrush(gradient);
painter.drawRect(rect());
// 调用 QWidget 的 paintEvent 函数
QWidget::paintEvent(event);
}
这样就可以将 QWidget 的背景颜色设置为渐变色了。