找回密码
 立即注册
收起左侧

新手提问关于交叉编译QT是如何设置屏幕物理尺寸以计算DPI

1
回复
13032
查看
[复制链接]
累计签到:5 天
连续签到:1 天
来源: 2017-12-26 16:40:29 显示全部楼层 |阅读模式
1Qter豆
在Ubuntu上交叉编译的应用程序,在我的开发板(JZ2440)上运行,字体总是变得非常小。通过设置全局字体大小
  1. QFont font;
  2.     font.setPointSize(16);
  3.     app.setFont(font);
复制代码
理论计算字体宽度应该是16*2.54/72=0.56cm但是实际上都快看不到字了。
重新设置:
  1. QFont font(msyh);
  2.     font.setPixelSize(16);
  3.     app.setFont(font);
复制代码
这次字体的分辨率成功设置成了16*16大小。

分析:setPointSize函数是根据屏幕DPI来计算字体的物理尺寸的,应该是我QT配置的DPI大小不对。
打印屏幕DPI测试:
  1. QApplication app(argc, argv);

  2.     QScreen *primaryScreen = app.primaryScreen();
  3.     qDebug()<<"primary screen width (cm):"<<((primaryScreen->geometry().width() /primaryScreen->physicalDotsPerInchX())*2.54 );
  4.     qDebug()<<"primary screen height(cm):"<<((primaryScreen->geometry().height()/primaryScreen->physicalDotsPerInchY())*2.54 );
  5.    
复制代码
打印结果:
  1. primary screen width (cm): 48.0001
  2. primary screen height(cm): 27.2001
复制代码
我才4.3寸屏。。。

请问各位大佬如何设置QT默认的的DPI参数?

回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2017-12-27 09:47:41 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了