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)

老猿Python,跟老猿学Python!

posted on 2020-03-30 18:52  老猿Python  阅读(400)  评论(0编辑  收藏  举报