解决qt在相同分辨率不同宽度的屏幕下字体显示位置不一样的问题
2017-06-05 09:59
801 查看
使用qlabel给Qwidget做标题,在分辨率为1920*1080的笔记本显示器上看到label标题在窗口中居中,换了一台分辨率也是1920*1080但更宽和更大的台式机显示器后,此label上的标题在窗口中变得偏左且字体看起来小。同样的显示器不同宽度的屏幕字体大小显示不一样造成标题没有居中。因字体和内容都是在qt设计师上设定的,qt设计师设定的字体是根据point(磅)大小来显示而不是像素大小显示,即获取字体大小的函数是PointSize(),而不是Pixsize()。网上说根据像素大小显示的字体在相同分辨率下显示行为是一样,但是根据point大小显示的字体, 规定了实际中我们肉眼看到的字体的大小
他和pixel无关的~ 他和显示器无关 不管在什么样上的显示器上 规定大小是多少就是多少。因此如果要使字体与显示器相关,则必须将字体改为按像素大小设置。根据此处计算方法,http://blog.csdn.net/liuqz2009/article/details/7208931
先获取pointsize大小,再转换为像素大小。
int pointsize = m_font.pointSize();
m_font.setPixelSize(pointsize*90/72); //设置字体大小单位为像素大小,而不是以磅为单位
如何决定字体是按pointsize大小还是按pixsize大小?
函数PointSize()的返回值为如果字体是以SetPointSize()设置的,则返回具体的pointsize,否则返回-1. pixsize也是如此,因此判断下是否返回-1即可知道是哪个方式设置。
改了像素大小后,标题依然没有居中。后面各种方法尝试都不行。后面突然想到一法,将label的宽度设置为与窗口大小一样的宽度,再设置label的内容为居中setAlignment(Qt::AlignHCenter),如此则放到不同的显示器,能够自动适应窗口大小。至此解决了标题不居中问题。特此记录一下。
他和pixel无关的~ 他和显示器无关 不管在什么样上的显示器上 规定大小是多少就是多少。因此如果要使字体与显示器相关,则必须将字体改为按像素大小设置。根据此处计算方法,http://blog.csdn.net/liuqz2009/article/details/7208931
先获取pointsize大小,再转换为像素大小。
int pointsize = m_font.pointSize();
m_font.setPixelSize(pointsize*90/72); //设置字体大小单位为像素大小,而不是以磅为单位
如何决定字体是按pointsize大小还是按pixsize大小?
函数PointSize()的返回值为如果字体是以SetPointSize()设置的,则返回具体的pointsize,否则返回-1. pixsize也是如此,因此判断下是否返回-1即可知道是哪个方式设置。
改了像素大小后,标题依然没有居中。后面各种方法尝试都不行。后面突然想到一法,将label的宽度设置为与窗口大小一样的宽度,再设置label的内容为居中setAlignment(Qt::AlignHCenter),如此则放到不同的显示器,能够自动适应窗口大小。至此解决了标题不居中问题。特此记录一下。
相关文章推荐
- 相同分辨率手机,字体大小显示不一样的解决办法
- 自定义RatingBar,不同分辨率屏幕下图片拉伸或者显示不完整问题解决
- 自定义RatingBar,不同分辨率屏幕下图片拉伸或者显示不完整问题解决
- 自定义RatingBar,不同分辨率屏幕下图片拉伸或者显示不完整问题解决
- 自定义RatingBar,不同分辨率屏幕下图片拉伸或者显示不完整问题解决
- android 不相同分辨率不同尺寸和相同分辨率不同尺寸自适应屏幕解决方法
- 解决3ds Max在高分辨率屏幕下显示字体偏小的问题
- 页面在不同屏幕分辨率下存在的问题及解决办法
- qt5.6 中文字体显示乱码问题解决方法
- 表格的宽度点击后产生图标换行问题解决以及字体在手机中不正常显示
- DatePickerDialog 只显示年 (解决不同语言顺序不一样的问题)
- iphone 不同分辨率的问题之一(游戏中不同分辨率显示效果相同或者不同)
- 解决Input与Select设置CSS宽度相同时显示宽度不同的解决!
- 页面在不同屏幕分辨率下存在的问题及解决办法
- 如何解决 "Powered by ECShop"每次显示的位置都不同的问题
- 解决不同分辨率下浮动div层位置问题
- Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)
- 页面在不同屏幕分辨率下存在的问题及解决办法
- 重设PowerDesigner软件启动时窗口显示的位置,解决PowerDesigner 多屏幕显示不见了问题
- 解决不同手机屏幕下字体变大、变小的问题