QT 中 圆形

QT中无论用drawArc 还是用drawRect,还是drawEllipse 所画的圆形均为 起始点矩形的 内接圆。 矩形的中心就是圆的圆心

给定圆心(100,100) 半径50, 则矩形的起始点 为 (100 - 25, 100 - 25),起始点这里需要做下处理。
QT 中 圆形_第1张图片
对应的测试代码:

void MainWindow::paintEvent(QPaintEvent* pPainter)
{
    QPainter pt(this);


    //画十字线
    pt.drawLine(100,0,100,300);
    pt.drawLine(0,100,300,100);


    //pt.drawArc(100, 100,50,50,0*16, 360*16);//矩形的内接圆形
    //pt.drawRect(100 - 25, 100 - 25,50,50);//ok
    //圆心为(100,100)半径为50的圆
    pt.drawArc(100 - 25, 100 - 25,50,50,0*16, 360*16);


    //画矩形,并画矩形的内接圆
    QPen pen;


    pen.setColor(Qt::green);
    pt.setPen(pen);
    pt.drawRect(100 , 100,50,50);//矩形--绿色


    pen.setColor(Qt::red);
    pt.setPen(pen);
    pt.drawArc(100, 100,50,50,0*16, 360*16);//矩形的内接圆形---红色//圆心为(150,150) 为矩形的内接圆
}

参考文章 Qt之图形(绘制漂亮的圆弧)
https://www.cnblogs.com/itrena/p/5938341.html

Qt中圆弧和扇形的绘制
https://zhuanlan.zhihu.com/p/142968773?from_voters_page=true

Qt基本图形绘制(圆、圆角矩形、圆弧、椭圆、扇形等)
https://blog.csdn.net/qq_40194498/article/details/79650641

你可能感兴趣的:(QT)