问:PaintEvent IOS像素弧

所以我有一个Q::Painter绘制一些圈子。 在Windows上,它画的圆完美,但在iOS上它像素化:

在这里输入图像说明

这是非像素化的图像:

在这里输入图像说明

如果有人能帮助我解决这个问题,我将会非常高兴。 代码是完全一样的,但iOS渲染不好…

这是我的代码:

 void CQtPercentCircleWidget::paintEvent(QPaintEvent *pe) { int circleX = parentWidget()->width()/2 - m_iCircleWidth/2; int circleY = m_iPenWidth; QRectF normalCircle(circleX, circleY, m_iCircleWidth, m_iCircleHeight); QPainter painter(this); painter.setRenderHints((QPainter::Antialiasing,QPainter::HighQualityAntialiasing), QPainter::SmoothPixmapTransform); painter.setPen(m_qpenNormalColor); painter.drawEllipse(normalCircle); QRectF activeCircle(circleX, circleY, m_iCircleWidth, m_iCircleHeight); int startAngle = 90 * 16; double dProgress = (double)m_iProgressPercent; int currentAngle = (dProgress / 100) * (360 * 16); painter.setPen(m_qpenCurrectPenColor); painter.drawArc(activeCircle, startAngle, currentAngle); } 

你正在使用setRenderHints()错误。 将其更改为:

  painter.setRenderHints(QPainter::Antialiasing | QPainter::HighQualityAntialiasing | QPainter::SmoothPixmapTransform);