绘制更Smooth的UI

时间:2021-07-13 16:43:12

以前很长一段时间,在自定义控制绘制时,只是简单的定义一个QPainter对象而开始绘画。经常会画一些圆角矩形,甚至是一些不规则的图形。对于不规则的图形来说,如果PS技术不好,或者mask制作的不好,常常在绘制后会有锯齿样、质量较低的情况出现。

其实,解决这类问题很简单,只需要在绘制之前,设置好QPainter的RenderHint(s)就好了:

QPainter painter(this);

//make the roundedRect or something else smooth
painter.setRenderHints(QPainter::Antialiasing | QPainter::HighQualityAntialiasin g, true);