C++学习(一三二)QFont的setPixelSize和setPointSize

setPixelSize字面意思是字体高度占用的像素px大小。

setPointSize字面意思是字体高度占用的可物理测量的长度磅(point)pt大小,一般用于印刷领域。

具体高度的理解为content-area,参看文章《C++学习(一三五)深度揭秘字体和字符集》

QFont中定义的PointSize,比如QFont font("宋体",25,QFont::Bold,true);定义的字体高度为25pt。

 

pt和px两者有换算关系,需要知道屏幕的DPI。可以通过文章《C++学习(一三三)qt如何获取屏幕物理尺寸、分辨率、DPI》中的方法获取。通过测试,发现该DPI为逻辑DPI而不是物理DPI。

dpi=QGuiApplication::screens().at(0)->logicalDotsPerInch();

1pt=DPI*1/72 px

对于逻辑DPI为120的显示器而言

1pt=120*1/72=1.67px

25pt=42px

 

下面是在物理DPI下的转换关系:

尺寸(XLen YLen)和分辨率(XScreen YScreen)

X方向:

1pt=1/72 inch=1/72*2.54 cm=1/72*2.54/XLen*XScreen px

Y方向:

1pt=1/72 inch=1/72*2.54 cm=1/72*2.54/YLen*YScreen px

 

对于分辨率为1920*1080,物理尺寸为344mm*194mm的显示器而言

X方向:

1pt=1/72*2.54/34.4*1920 px=1.97 px

Y方向:

1pt=1/72*2.54/19.4*1080 px=1.96 px

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值