在QT的painter类中,我们可以方便的进行一些图形绘制。其中绘制圆弧的3个命令如下:

void drawArc(const QRectF &rectangle, int startAngle, int spanAngle)
void drawArc(const QRect &rectangle, int startAngle, int spanAngle)
void drawArc(int x, int y, int width, int height, int startAngle, int spanAngle)

可以轻易看出,所有的绘制命令都是通过一个矩形和起始角和结束角来绘制的(具体参数用法略),并没有CAD中的3点绘制圆弧、圆心半径等圆弧绘制方法。

下面是我绘制的用方法3绘制的一个圆弧,如下:

大家可以看出,drawArc命令绘制的圆弧,其实是一个椭圆的圆弧。这里为了方便,就把整个圆都绘制出来了。

所以,在QT painter中,绘制弧线的思路如下:

“圆”统一到了“椭圆”中,只要把绘制椭圆的矩形定制成正方形就可以绘制出圆。

如果要绘制”圆“的圆弧,只要把矩形定制成正方形即可绘制出圆弧,否则为椭圆弧。

这种方法很巧妙,但是对于想3点绘制标准圆弧的画法却不太实用。而且需要把思维转换为矩形,并不是很方便实用(个人之言)。 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐