这是我写的代码,但它似乎应用了抗锯齿
font = QtGui.QFont("Trajan Pro", 20)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
font.setBold(True)
self.setFont(font)
self.shadow = QtGui.QGraphicsDropShadowEffect(self)
self.shadow.setOffset(2,1)
self.shadow.setBlurRadius(2.0)
self.label.setGraphicsEffect(self.shadow)
有什么建议吗?
编辑:这是一个MCVE
from PyQt4 import QtCore, QtGui
class FontWidget(QtGui.QWidget):
def __init__(self, parent):
super(FontWidget, self).__init__(parent)
layout = QtGui.QHBoxLayout()
layout.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignCenter)
label = QtGui.QLabel('Hello, this is a test')
layout.addWidget(label)
self.setLayout(layout)
fontDB = QtGui.QFontDatabase()
fontDB.addApplicationFont(":/TrajanPro-Regular.otf")
font = QtGui.QFont("Trajan Pro", 20)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
font.setBold(True)
self.setFont(font)
shadow = QtGui.QGraphicsDropShadowEffect(self)
shadow.setOffset(2,1)
shadow.setBlurRadius(2.0)
label.setGraphicsEffect(shadow)
palette = QtGui.QPalette()
palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.white)
palette.setColor(QtGui.QPalette.Background, QtCore.Qt.red)
self.setPalette(palette)
if __name__ == '__main__':
app = QtGui.QApplication([])
window = FontWidget(None)
window.show()
app.exec_()
正如您在S和O中看到的,抗锯齿似乎没有正确应用
编辑2:
添加了导入
这里有一个下载字体的链接:
http://www.fontpalace.com/font-details/TrajanPro-Regular+OTF/
发布于 2017-07-18 14:55:50
问题出在字体本身。它是抗锯齿良好的Mac,使用QT4.864位,但视窗字体渲染器似乎还不够先进,以抗锯齿字体与PostScript轮廓/ OpenType布局。我尝试使用FontForge,但到目前为止还不能在Windows上实现抗锯齿。
https://stackoverflow.com/questions/36754823
复制