问题

目前的工具需要适配不同分辨率以及不同缩放比例下的系统,尝试过较多的方法均不理想,后面在qt助手中找到了解决办法,

在main.cpp中添加如下代码:

QApplication::setAttribute(Qt::AA_Use96Dpi); qputenv("QT_SCALE_FACTOR", QString::number(1.0).toLatin1());

添加前

将windows的缩放设置为175%

问题:

  • 输入框有些有变形
  • 有些文字显示不出来
  • 文字和按钮的大小不匹配

添加后

分析

Qt助手的原文:

Qt::AA_Use96Dpi

Assume the screen has a resolution of 96 DPI rather than using the OS-provided resolution. This will cause font rendering to be consistent in pixels-per-point across devices rather than defining 1 point as 1/72 inch.

将以96 DPI的分辨率显示屏幕,而不是使用操作系统提供的分辨率。这将导致字体渲染在设备上以每点像素为单位保持一致,而不是将1点定义为1/72英寸。

这个解决办法相当于是固定了设备的分辨率,牺牲了在高缩放下工具放大功能,保证的工具在不同缩放下的一致性。这应该是比较通用的解决方案,不需要重写控件的布局管理以及系统缩放等。

同时在翻看手册的时候看找到了Qt对于高分辨率的支持,如下:

Qt::AA_EnableHighDpiScaling

Enables high-DPI scaling in Qt on supported platforms (see also High DPI Displays). Supported platforms are X11, Windows and Android. Enabling makes Qt scale the main (device independent) coordinate system according to display scale factors provided by the operating system. This corresponds to setting the QT_AUTO_SCREEN​_SCALE_FACTOR environment variable to 1. This attribute must be set before QGuiApplication is constructed. This value was added in Qt 5.6.

【Qt】解决windows高分辨和缩放问题相关推荐

  1. 如何解决Windows 10屏幕字体缩放模糊问题

    如何解决Windows 10屏幕字体缩放模糊问题 参考文章: (1)如何解决Windows 10屏幕字体缩放模糊问题 (2)https://www.cnblogs.com/onelikeone/p/1 ...

  2. QT解决因屏幕分辨率和缩放产生的界面异常

    显示器分辨率和缩放比例 在某些情况下,由于屏幕分辨率和缩放比例不是100%,导致一些界面或字体的显示出现异常.此时需要获取到分辨率和缩放比例等相关参数,加以矫正,使界面在不同分辨率和缩放比例下都显示正 ...

  3. windows c++ 原子操作_高分辨质谱数据处理操作篇

    May 5 FT-ICR MS进阶之路 内容:DataAnalysis操作,Origin作图 练习时间:20分钟 Billboard: 高分辨质谱数据处理是一项复杂的工作,本文进介绍基本的软件操作. ...

  4. 解决 Windows 资源管理器 CPU 占用率很高的问题

    解决 Windows 资源管理器 CPU 占用率很高的问题 参考文章: (1)解决 Windows 资源管理器 CPU 占用率很高的问题 (2)https://www.cnblogs.com/LuQi ...

  5. 笔记本高分辨软件兼容问题,字体太小或模糊

    笔记本和电脑屏幕高分辨后出现软件兼容问题,字体太小或文字模糊.在相应软件图标上单击右键->属性,在属性面板上选择"兼容性"选项卡:如下图进行设置,完成后重启软件即可. 按照红 ...

  6. 解决Windows下Arm下Linux下Qt4程序的中文乱码问题

    解决Windows下Arm下Linux下Qt4程序的中文乱码问题 ################################################################### ...

  7. Qt 解决MySQL 中文乱码问题

    文章目录 Qt 解决MySQL 中文乱码问题 解决此问题的必要前提就是: 1.版本要匹配. 2.数据库连接正常,需要重新编译Qt 自带的源程序中的mysql.pro 工程项目: 3.数据库的编码格式与 ...

  8. Qt 调用 Windows 接口实现窗口置顶

    前言 用 Qt 做 Windows 软件开发,有时候会用到窗口置顶功能,其实 Qt 有自带的接口来实现窗口置顶,但是效果并不太理想,比如说没办法置顶于系统标题栏,或者在全屏状态下如果有键盘事件的时候窗 ...

  9. Qt安装Windows调试器

    Qt安装Windows调试器 问题:Win10下使用Qt无法调试,这是因为没有指定调试器. 解决方法: 1. 打开网址:https://developer.microsoft.com/zh-cn/wi ...

最新文章

  1. hive 使用技巧笔记
  2. django(未解决的问题)
  3. Vue、React、Angular最佳UI框架
  4. Java消息中间件的概述与JMS规范
  5. SpringCloud源码:Ribbon负载均衡分析
  6. shell脚本详解(十)——sed编辑器的使用方法
  7. PHPcms框架的Webshell
  8. Netty架构与原理详解
  9. cpu为何有两个温度?
  10. python基础知识——函数(上)
  11. rss阅读器一览导入opml文件
  12. 抖音上热门的7大小技巧
  13. 通过小白三步装机版安装win10系统教程
  14. Java基础知识➣发送Emai和访问MySQL数据库(七)
  15. 《幽途无人葬》游戏指南
  16. superset集成echarts--添加Line折线图
  17. 设置带用户名和密码的telnet登入方式(原创)
  18. 随机获取4位26个英文字母和数字组合的值(4位随机码)
  19. Dev C++报错找不到zlib1.dll解决办法以及调试入门
  20. ELK7.1.1之插件安装

热门文章

  1. 干货 | React 中的 Canvas 动画
  2. 为什么夏天易发皮肤病?
  3. 计算机专业毕业网上答辩流程,计算机专业毕业论文答辩流程
  4. 论文阅读 2021 —— DRO: Deep Recurrent Optimizer for Structure-from-Motion
  5. 福州市调频广播电台收音频率列表
  6. python 简单爬虫 --- 人民日报
  7. python写出XLSX
  8. pack_padded_sequence和pad_packed_sequence详解
  9. Tolua#添加云风的PBC插件
  10. 基于 Spring Cloud + Vue.js完整的微服务架构实战