现象:

QPainter设置画刷后,绘制矩形没有填充色?示例代码如下:

image.png

程序运行效果:

image.png

预期效果是界面填充为红色,然而并没有。


原因:

QBrush默认的brush style是Qt::NoBrush,也就是没有画刷。应该设置为Qt::SolidPattern。由于平时很少用到QBrush默认构造函数创建对象,所以没有注意到这一点。


解决办法:

设置style为Qt::SolidPattern。(当然本例可以使用带参数的构造函数,没必要那么麻烦)

image.png

image.png