现在,我只是想创建一个带有渐变填充的圆:

//I want the center to be at 10, 10 in the circle and the radius to be 50 pixels
QRadialGradient radial(QPointF(10, 10), 50);
radial.setColorAt(0, Qt::black); //I want the center to be black
radial.setColorAt(1, Qt::white); //I want the sides to be white
painter.setBrush(QBrush(radial));
painter.drawEllipse(/*stuff*/);

但是,所有这些都是向我展示一个完全白色的圆圈。我该如何纠正?

最佳答案

我会尽力帮助您,但我的英语说得不好。
该死,我也无法同时发布图片...我会将它们发布在其他网站上。
当然会是白色的。您使用了错误的坐标。请告诉我您的“/ *东西* /”变量列表。
您会看到,如果为小部件设置了渐变(在您的情况下仅是一个很小的区域),则可以在错误的位置绘制椭圆,并且椭圆肯定会是白色的:[see pic]
设置渐变坐标正确。例如:

QRadialGradient radial(QPointF(100, 100), 50);
// ...
painter.drawEllipse(50,50,100,100);
[see pic]

关于c++ - 创建QGradient,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4355768/

10-15 00:28