最近遇到一个现象,将做好的软件放在更高分辨率的电脑上运行,会导致字体显示不完全,出现被控件遮挡的情况。具体原因可以上网查询,在这里将记录下解决方法。
这里记录两种方法,如果使用的qt版本在5.6.0之后,可以支持high_dpi,应用设置该属性即可;如果不支持,可以为应用设置自适应字体。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
if __name__ = = "__main__" :
v_compare = qversionnumber( 5 , 6 , 0 )
v_current,_ = qversionnumber.fromstring(qt_version_str) #获取当前qt版本
if qversionnumber.compare(v_current,v_compare) > = 0 :
qapplication.setattribute(qt.aa_enablehighdpiscaling) #qt从5.6.0开始,支持high-dpi
app = qapplication(sys.argv) #
else :
app = qapplication(sys.argv)
font = qfont( "宋体" )
pointsize = font.pointsize()
font.setpixelsize(pointsize * 90 / 72 )
app.setfont(font)
mymainwin = mymainwindow()
mymainwin.show()
sys.exit(app. exec ())
|
注意:qapplication.setattribute(qt.aa_enablehighdpiscaling) 是在创建qapplication项目之前。
以上这篇pyqt5 实现字体大小自适应分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qfxx_CSDN/article/details/85075144