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 相关文章推荐
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
python实现简单flappy bird
Dec 24 Python
基于Python实现大文件分割和命名脚本过程解析
Sep 29 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
通过实例解析python描述符原理作用
Jan 22 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
python超详细实现完整学生成绩管理系统
Mar 17 Python
Python 视频画质增强
Apr 28 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
paypal即时到账php实现代码
2010/11/28 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
javascript连续赋值问题
2015/07/08 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
详解Django通用视图中的函数包装
2015/07/21 Python
python列表list保留顺序去重的实例
2018/12/14 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
python绘制雷达图实例讲解
2021/01/03 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
外包公司软件测试工程师
2014/11/01 面试题
敬老院标语
2014/06/27 职场文书
企业介绍信范文
2015/01/30 职场文书
公司员工手册范本
2015/05/14 职场文书