PyQt5 实现字体大小自适应分辨率的方法


Posted in Python onJune 18, 2019

最近遇到一个现象,将做好的软件放在更高分辨率的电脑上运行,会导致字体显示不完全,出现被控件遮挡的情况。具体原因可以上网查询,在这里将记录下解决方法。

这里记录两种方法,如果使用的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项目之前。

以上这篇PyQt5 实现字体大小自适应分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编写检测数据库SA用户的方法
Jul 11 Python
Web服务器框架 Tornado简介
Jul 16 Python
Python解决鸡兔同笼问题的方法
Dec 20 Python
Python单链表简单实现代码
Apr 27 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
详解Python如何生成词云的方法
Jun 01 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
python3 配置logging日志类的操作
Apr 08 Python
详解python的变量缓存机制
Jan 24 Python
Python基础之元编程知识总结
May 23 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 #Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 #Python
基于python的socket实现单机五子棋到双人对战
Mar 24 #Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 #Python
python五子棋游戏的设计与实现
Jun 18 #Python
Python基础学习之时间转换函数用法详解
Jun 18 #Python
python实现简单五子棋游戏
Jun 18 #Python
You might like
实例讲解PHP面向对象之多态
2014/08/20 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
深入了解js原型模式
2019/05/30 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
python内置模块collections知识点总结
2019/12/19 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
绿色环保标语
2014/06/12 职场文书
员工手册编写范本
2015/05/14 职场文书
员工聘用合同范本
2015/09/21 职场文书
浅谈Web Storage API的使用
2021/06/23 Javascript