QPainter抗锯齿设置
开启前:
开启后:
QPainter painter(this);//画家选择this(MainWindow)当作画板painter.setRenderHint(QPainter::SmoothPixmapTransform);painter.setRenderHint(QPainter::Antialiasing);painter.setRenderHint(QPainter::TextAntialiasing);//文字抗锯齿int w = this->width();//绘图区的宽度int h = this->height();//绘图区的高度QRect rect(w/4,h/4,w/2,h/2);//定义一个矩形QPen pen;pen.setWidth(2.5);painter.setPen(pen);painter.drawEllipse(rect);
QPainter::SmoothPixmapTransform
:
这个渲染提示用于在变换(如缩放、旋转或平移)位图(pixmap)时保持其平滑。当位图被缩放或旋转时,如果没有启用这个提示,你可能会看到像素化的边缘或锯齿状的图形。启用后,Qt 会尝试使用更平滑的算法来处理位图的变换,从而减少这种效果。
QPainter::Antialiasing
(注意:在较新的 Qt 版本中,可能更常见的是使用 QPainter::Antialiasing
的布尔值形式,即 true
或 false
,而不是直接作为枚举值传递):
这个渲染提示用于在绘制矢量图形(如线条、多边形、圆形等)时启用抗锯齿效果。抗锯齿能够减少或消除图形边缘的锯齿状,使边缘看起来更加平滑。这对于提高图形的整体视觉效果非常有用。