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对象之前使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值