QPainter.drawText丑陋的字体渲染

时间:2014-03-17 14:36:46

标签: python-3.x qt pyqt4 font-rendering

qfont = QtGui.QFont('Ubuntu', 9)
#qfont.setHintingPreference(QtGui.QFont.PreferDefaultHinting)
#qfont.setStyleStrategy(QtGui.QFont.PreferAntialias)
qfont.setStyle(QtGui.QFont.StyleNormal)
qfont.setWeight(QtGui.QFont.Normal)
qpaint.setFont(qfont)
qpaint.drawText(qpix.rect() , QtCore.Qt.AlignBottom + QtCore.Qt.AlignCenter, Invent.get_item(i)['type'])

字体渲染(抗锯齿)与其他应用程序使用的不同。

http://rghost.net/53129449/image.png

如何让它看起来一样?

1 个答案:

答案 0 :(得分:1)

我不确定这是否直接适用于pyQt,但是在c ++端,渲染提示需要在绘制缩放时或者看起来很糟糕时设置。以下是我设置标志的方法:

m_paintFlags = QPainter::RenderHint(QPainter::Antialiasing | 
    QPainter::SmoothPixmapTransform | 
    QPainter::HighQualityAntialiasing);

然后,在绘制之前的绘画事件中:

painter.setRenderHints(m_paintFlags);