gpt4 book ai didi

c++ - 具有多种颜色背景的QPalette

转载 作者:搜寻专家 更新时间:2023-10-31 01:45:01 25 4
gpt4 key购买 nike

我知道我们可以使用 QPalette 为 QLabel 设置背景。但是我可以用 QPalette 绘制多色背景吗?例如,上面的一半是黑色的,下面的一半是蓝色的。我找不到 setRect() 函数 QPalette。还是我应该使用其他类(class)?还是必须请画家画背景?

最佳答案

documentation for QGradient类状态:-

The QGradient class is used in combination with QBrush to specify gradient fills

因此,您可以从创建渐变并将其设置为 QBrush 开始

QLinearGradient linearGrad(QPointF(100, 100), QPointF(100, 200));
linearGrad.setColorAt(0, Qt::black);
linearGrad.setColorAt(0.5, Qt::blue);

您可以尝试在不同的停止点设置不同的颜色,范围从 0.0 到 1.0

使用渐变创建画笔...

QBrush brush(linearGrad);

documentation for QPalette状态:-

Colors and brushes can be set for particular roles in any of a palette's color groups with setColor() and setBrush().

所以,使用QPalette的setBrush函数,设置用渐变创建的画笔:-

QPalette palette;
palette->setBrush(QPalette::Window, brush);

关于c++ - 具有多种颜色背景的QPalette,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22712343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com