最近開始折騰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.