2016-04-20 4 views
1

Это код, который я написал, но мне кажется, применить сглаживаниеНе можете Сглаживание шрифтов

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) 

Here's the result

Любые предложения?

EDIT: Вот 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_() 

New screenshot

Как вы можете видеть в S и O, Сглаживание, кажется, не правильно применять

EDIT 2:

Добавлено импорт

H прежде чем ссылка, чтобы скачать шрифт:

http://www.fontpalace.com/font-details/TrajanPro-Regular+OTF/

+1

Я хотел бы помочь и решить некоторые из этих проблем, но фрагмент кода оставляет много работы для людей, которые пытаются помочь. Пожалуйста, подумайте о предоставлении [MCVE] (http://stackoverflow.com/help/mcve). –

+0

Хорошо, я сделаю это – user3489057

+0

ok, MCVE добавлен, как вы сказали – user3489057

ответ

0

Проблема заключается в самом шрифте. Он отлично сглажен на Mac, используя Qt 4.8 64-bit, но средство визуализации шрифтов Windows, похоже, недостаточно продвинуто, чтобы сгладить шрифт с помощью контуров PostScript/макета OpenType. Я пытался играть с FontForge, но до сих пор не мог сделать его сглаженным в Windows.