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 相关文章推荐
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
Python去除列表中重复元素的方法
Mar 20 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
Python模拟登陆实现代码
Jun 14 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
关于python3中setup.py小概念解析
Aug 22 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 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环境搭建最新方法
2006/09/05 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
物流仓储计划书
2014/01/10 职场文书
生日邀请函范文
2014/01/13 职场文书
小学开学典礼主持词
2014/03/19 职场文书
小学生新年寄语
2014/04/03 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
联谊活动总结范文
2015/05/09 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
PyTorch device与cuda.device用法
2022/04/03 Python