PyQt5 实现字体大小自适应分辨率的方法
最近遇到一个现象,将做好的软件放在更高分辨率的电脑上运行,会导致字体显示不完全,出现被控件遮挡的情况。具体原因可以上网查询,在这里将记录下解决方法。
这里记录两种方法,如果使用的Qt版本在5.6.0之后,可以支持High_DPI,应用设置该属性即可;如果不支持,可以为应用设置自适应字体。
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项目之前。
相关推荐
如狼 2020-08-15
csstpeixun 2020-08-07
anyushan 2020-06-30
zego实时音视频 2020-06-23
oKeYue 2020-06-14
xiaoxiaokeke 2020-05-19
AlisaClass 2020-05-16
Justdoit00 2020-04-26
rionchen 2020-04-09
86384798 2020-04-04
贤冰 2020-03-08
云端漂移 2020-03-05
数据与算法之美 2020-01-23
yuanran0 2019-12-25
CaiKanXP 2019-12-21