+-
我的所有字体都出现了像素化,所以我用了 AntiAliasing
但却无济于事。你可以看到图像本身的像素化字体。
这是我目前使用的代码
butt1 = QtWidgets.QLabel("""Scrappr""")
font = QtGui.QFont()
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
font.setPixelSize(22)
font.setFamily('Segoe UI Bold')
butt1.setFont(QtGui.QFont(font))
我在SO,qtforums等网站上尝试了不同的解决方案,但都没有用:(
我试过
不同的组合 ClearType text
但它没有工作了,因为,默认情况下,所有的文字显示良好的Windows和铬 不过 与 Qt
只是,它变得像素化。
把windows aero主题换成经典主题...
但都无济于事。
以下是我的电脑规格。
windows: 7终极版 PySide2版本: 5.14.2.1 分辨率: 1360 X 768 1360 X 768
2
投票
投票
试着看看PyQt5使用的字体。
import PyQt5
from pyQt5 import QtGui
dir(QtGui.QFont)
结果会显示你所需要的所有QFond和字体都可以使用。
[..., 'Helvetica',...,'SansSerif',..., 'Serif',..., 'Times', ...
你可以尝试添加你的自定义字体,但你需要测试每个字体。
比如说。文件 告诉我们。
在Windows中,如果请求使用 "Courier "字体,则会自动改为 "Courier New",这是Courier的改进版本,可以实现平滑缩放。旧的 "Courier "位图字体可以通过设置PreferBitmap样式策略来选择(见setStyleStrategy()).一旦找到一个字体,其余的属性将按优先级顺序进行匹配。
fixedPitch()
pointSize() (see below)
weight()
style()
2
投票
投票
我去年正好使用Qt工作,我使用qml来构建我的应用程序的UI部分。
Qt本身更喜欢我们使用qml来构建UI,因为他们已经编写了一个UI引擎,与旧的引擎相比,它能更好的渲染所有的东西。
在PyQt的情况下,你使用的是Python的方法,而这种方法通常是不被推荐的,我并不是说qml的版本是完美的像素,它在绘制曲线方面仍然很糟糕(但这不是我们通常需要的东西)。就你的问题而言,qml对你来说很好用(它的文本渲染效果更好)。
你可能在寻找qml的学习资源时有点困难。但至少可以试一试,是的,它比只用Python的方法要简单得多。