PyQt学习随笔:QWidget的QFont的kerning、Antialiasing属性用途
引言
在Designer中,QWidget的font属性有两个比较陌生的属性:kerning和Antialiasing,如图:
kerning属性
kerning属性用于控制字体在输出时是否启用kerning控制,启用kerning控制用于调整字符间距,且基本上是英文字符形状的间距,因为英文字符形状都是不规则的,有宽有窄,有的圆乎乎,有的棱角分明,就会导致排列在一起的时候疏密不一致,而kerning可以有效利用字符形状间的间隙,使字形之间的空间更加相似。
对应的访问方法为QFont类的kerning()和setKerning(bool enable)。
Antialiasing属性
Antialiasing属性用于控制是否启用反走样抗锯齿(Antialiasing,请参考《QT QPainter::antialiasing QPainter::textAntialiasing 反走样、抗锯齿探究》)。
在QFont中并没有Antialiasing属性,该属性实际上对应的是QFont的styleStrategy属性的某几个取值,可以通过QFont的方法styleStrategy()和setStyleStrategy(setStyleStrategy())来访问,对应属性取值类型为枚举类型 QFont.StyleStrategy,对应取值请参考官网说明。
示例代码:
font = QtGui.QFont()
font.setStyleStrategy(QtGui.QFont.NoAntialias)
mainWindow.setFont(font)