我知道我们可以使用QPalette设置QLabel的背景。但是我可以用QPalette绘制多种颜色的背景吗?例如,上方一半为黑色,下方一半为蓝色。
我找不到setRect()函数QPalette。还是应该使用其他类(class)?还是我必须和画家一起绘制背景?
最佳答案
documentation for QGradient类指出:-
因此,您可以先创建一个渐变并将其设置为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指出:-
因此,使用QPalette的setBrush函数,设置使用渐变创建的画笔:-
QPalette palette;
palette->setBrush(QPalette::Window, brush);
关于c++ - QPalette具有多种颜色的背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22712343/