【Qt】解决windows高分辨和缩放问题

这篇具有很好参考价值的文章主要介绍了【Qt】解决windows高分辨和缩放问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

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

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

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

添加前

将windows的缩放设置为175%

【Qt】解决windows高分辨和缩放问题

【Qt】解决windows高分辨和缩放问题

问题:

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

添加后

【Qt】解决windows高分辨和缩放问题

【Qt】解决windows高分辨和缩放问题

分析

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.文章来源地址https://www.toymoban.com/news/detail-477894.html

到了这里,关于【Qt】解决windows高分辨和缩放问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““问题的解决

    我再安装matplotlib使用的是anaconda直接安装的,这个包会自带一个QTdesigner,和我原先环境内的pyside2冲突。当我卸载matplotlib后就发生上述报错。 问题很简单,就是程序找不到plugin插件了 向环境变量里添加 这个方案在别的文章里很容易找到 但这个也会出现一个问题,就是自己电

    2024年02月08日
    浏览(58)
  • 微软正在调查Windows 11 22H2远程桌面各种异常问题 目前必须禁用UDP连接——巩义修电脑

    有趣的是尽管大量用户在微软论坛反馈此问题,但微软迟迟没有在Windows 11健康仪表盘里披露这个问题。 而且就目前来看微软是早就知道这个问题的存在没有公开提,微软员工称团队在一个星期以前已经开始调查。 这不得不让人再次吐槽微软的问题披露机制,既然早就知道问

    2024年04月23日
    浏览(57)
  • 物联网超高速发展,目前存在的灾难性问题无法解决

    当灾难在1秒内发生,传感器无法马上进行报警,在1秒内传感器可能被瞬间损坏、物联网只能应用用在灾难即将发生,对于突发没有前兆的灾难无法进行精确预测。所以可以通过民航飞机的黑匣子记录方案,在传感器应用的物联网高端领域仪器设备上安装黑匣子来记录,最后

    2024年02月01日
    浏览(43)
  • Windows11系统的电脑中出现远程工具(SecureCRT )连接不上的问题解决方法

    问题出现如下图, 出现原因: 物理IP地址 (可用鼠标右键-点击终端查看)与 虚拟机IP地址不匹配 (在虚拟机编辑-虚拟网络编辑器中查看),其解决方法也是基于这两个方面。 解决方法: 1. 鼠标右键--进入终端 --输入命令ipconfig ,然后查看物理IP地址VMnet1和VMnet8的IP地址,(如果没有

    2024年02月11日
    浏览(57)
  • MacOS触控板缩放暂时失灵问题解决

    我的系统版本为Monterey 12.5.1,亲测有效 直接创建脚本xxx.sh,并在终端执行脚本 bash xxx.sh 即可解决此问题,脚本内容如下:

    2024年02月17日
    浏览(54)
  • 解决VISIO缩放时CPU内存爆满的问题

    我可能已经找到了解决这个问题的方法。 似乎此问题的原因是Office程序中自动禁用了硬件加速。 Display issues in Office client applications. - Office | Microsoft Learn PC 上的 Visio 或有问题的用户配置文件没有“禁用硬件图形加速”。 请检查 Visio 选项。(文件选项高级显示) 请尝试以下步

    2024年02月06日
    浏览(40)
  • 网页布局(解决浏览器缩放页面乱版问题)

    主要解决两个问题: 1. div盒子随Ctrl+【+/-】缩放而缩放的问题 2. 最小化窗口然后进行缩放页面的布局问题 3. 顶部导航固定问题 ### 第一个问题,则需了解 (1) 容器的布局:margin: auto、定位等等 (2) 尺寸单位:具体尺寸、可视尺寸(vh、vw)、百分比尺寸 ### 第二个问题,则需了解

    2024年02月04日
    浏览(57)
  • 解决dedecms(5.6/5.7)缩略图缩放变形问题方法

    解决dedecms(5.6/5.7)缩略图缩放变形问题方法,我们知道,dedecms缩略图是自动提取,相当于原图的等比例缩放了,比如后台设置缩略图的尺码为:120*90即为3:2的图片,但是假如内容里的大图尺码为300*300即1:1,这样生成出来的图片就会变形,直接后台设置的缩略图大小不起作用啊

    2024年02月03日
    浏览(74)
  • Qt creator在Windows下出现找不到“g++”问题(Cannot run compiler ‘g++‘. Output.)的解决方案(非网上无用的解决方法)Unity中创建新项目报错

            之前使用QT一切正常,后来使用VS2022和VS2008去二次开发摄像头,最近又想重新用QT来做,没想到打开QT创建新的项目,无法创建,但是之前写好的qt工程项目可以正常运行。 创建项目:报错ERROR:while XXXXX.pro文件,Giving up.系统找不到指定文件,Cannot run compiler \\\'g++\\\'.

    2024年02月13日
    浏览(44)
  • 解决前端笔记本电脑屏幕显示缩放比例125%、150%对页面大小的影响问题

    近期在工作中遇到一个问题,记录一下,在项目上线之后,遇到一个问题,即缩放到90%时,页面字体比默认的100%字体大,一开始毫无头绪,经过一番的Google...Google...Google....,终于找到了解决方法,这是因为大多数笔记本电脑默认的缩放比例为125%或者是150%,所以就出现了在本

    2024年02月04日
    浏览(116)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包