QPainterPath添加椭圆后结果与预期不一致的问题

现象:

QPainterPath通过addEllipse函数添加椭圆后绘制到界面上,结果与预期不一致,椭圆大小是实际大小的1/4。


原因:
在添加addEllipse时传入了4个参数 cx,cy,rx,ry。误以为前两个参数表示椭圆的圆心,后两个参数分别为x轴半径和y轴半径。实际上addEllipse有三个重载函数如下图所示


image.png

4个参数的函数实际上传入的应该是椭圆的外切矩形,想要传入圆心和半径应该选用第三个函数。


解决办法:
选用第三个重载函数,即addEllipse(QPointF(cx,cy),rx,ry)


演示站
上一篇:64位Qt 编译的程序gif动画不显示
下一篇:Qt程序在构造QApplication对象时就崩溃

发表评论