删除文章

确定要删除这篇文章吗?

取消
确定

Qt5.6支持高分辨率

     阅读(1017)  2017-02-03 13: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
文章数
326
总访问量
314857
今日访问
369
最近评论

liangzi: 不错 谢谢分享
tujiaw: registerThreadInactive:如果当前没有激活的线程,就去激活线程,让等待的线程去执行任务。
hgzzx: 佩服佩服。 请教:registerThreadInactive的作用是什么?
xuehaoyun: 很不错,来围观一下
tujiaw: 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞: 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
回到顶部