删除文章

确定要删除这篇文章吗?

取消
确定

Qt5.6支持高分辨率

     阅读(672)  2017-02-03 21:15:20

Qt5.6及以后版本支持高分辨率很容易,在QApplication创建之前加入如下代码:

QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 

打开这个设置之后在高分辨率的电脑上注意:

  • 不要混用获取尺寸位置相关的windows API,否则你会发现GetWindowRect获取的窗口宽高和使用QWidget函数width(),height()得到的值是不一样的;
  • 如我在程序中使用到了nativeEvent,从MSG中得到x,y坐标也不是我想要的; > 目前我的解决办法的是:通过widet->devicePixelRatioF()得到在高分辨显示器上的缩放比ratio,然后MSG中的x,y坐标除以ratio就可以得到正确的值

文章评论

Keep it simple,stupid
文章数
292
总访问量
350410
今日访问
424
最近评论

xuehaoyun : 很不错,来围观一下
tujiaw : 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞 : 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
于淞 : 你好,这个文章的源码能分享一下吗,838106303@163.com,谢谢了 上面的链接不能用了
tujiaw : 多谢多谢
essaypinglun college-paper.org : 很好的博客,赞赞
Folly : 这个实现有点奇怪,Qt为什么没有统一的比对方法。
过多s : alert("hello, world!")
tujiaw : 还不错哦
回到顶部