最近开始折腾Qt了,手头上的一个项目需要用到Qt来绘制一些简单图像。
记录下Qt绘制圆的过程:
对于以A为圆心,半径为R的圆,外部有一个外切的正方形,正方形上有B点。如下图所示:
对于void QPainter::drawArc(int x, int y, int width, int height, int startAngle, int spanAngle)来说,
1、x和y就是B点的坐标;
2、width和height就是正方形的长和宽;
3、startAngle为起始角度,该值为正的话,则是逆时针方向绘制;为负数则是顺时针方向绘制;3点钟方向(水平方向朝右)为0零。
4、spanAngle:为圆弧的对应的角度。
其中startAngle和spanAngle对应的值是角度*16,所以对于一个圆来说,startAngle为0,spanAngel为360*16;
对于其他重载函数,只要记住:QRect & rectangle,为圆的外切正方形。
再说一点:对于我们通常用的x,y左边而言。往右,x增大;向上,y增大。在Qt中,坐标原点是左上角顶点,往右,x增大;向下,y增大。所以,对于height值,我一般都是this->height()-height.