踩了个QBrush的坑

现象:

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

image.png

程序运行效果:

image.png

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


原因:

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


解决办法:

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

image.png

image.png

演示站
上一篇:Qt应用程序启动后界面无法弹出?
下一篇:QTableWidget如何设置只能选中一行?

发表评论