PyQt5高清屏幕自适应设置 QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)

让Qt程序适配高分辨率屏幕,解决软件界面错乱异常 前期使用Qt开发一个登录模块一直使用很好。最近在一台新电脑上使用时发现排版混乱。这个问题很普遍,主要原因是旧软件对高清显示器的适配不当造成的。新电脑使用的是4K屏,win10系统自动进行了175%的缩放。 阅读详情
AI摘要

本文探讨了在使用QtDesigner进行界面设计时,如何解决高清屏下布局、字体及控件尺寸的显示偏差问题。通过设置AA_EnableHighDpiScaling属性,确保预览与实际运行界面的一致性。

Qt Designer 设计界面:

在高清屏未设置AA_EnableHighDpiScaling的预览界面:布局字体控件尺寸上明显存在偏差

设置了AA_EnableHighDpiScaling的预览界面:运行后,与designer界面一致

运行分辨率 :1920*1080

Qt版本:5.6+

参考:https://riverbankcomputing.com/static/Docs/PyQt5/api/qtcore/qt.html?highlight=aa_enablehighdpiscaling##ApplicationAttribute-AA_EnableHighDpiScaling


from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
from PyQt5.QtCore import Qt
from Ui_mainqt import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setupUi(self)
        self.iniConn()

if __name__ == '__main__':
    import sys
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) 
    app = QApplication(sys.argv)
    formmain = MainWindow()
    formmain.show()
    sys.exit(app.exec_())

 

Qt High DPI解决方案 1.不完美的方案 使用Qt:AA_EnableHighDpiScaling。100%和125%程序没缩放,150%程序会变大两倍,不符合预期。 使用PROCESS_DPI_UNAWARE。程序确实按照DPI缩放了,但是画面变模糊了。 2.完美的方案 一个完美的方案,必须是程序的尺寸能和DPI对应上,而且画面不模糊。 2.1 注意点 如果你的程序是结合OpenGL程序的,你需要小心,如果OpenGL是在Qt程序里面写的话,可能不会有太大的问题,但是如果OpenGL功能是由别人提供的,像自己封装成一个库,那 阅读详情

相关推荐

Qt高分屏适配和QSS单位

介绍QT程序如何自动适配高分屏的系统自动缩放设置。以及QSS中的各个单位。

u014410266的博客 3833

AA_EnableHighDpiScaling

QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling)

liuying263的专栏 2470

PyQt5 UI自适应与高DPI缩放:从布局管理器到实战避坑指南

在桌面应用开发中,UI自适应与高DPI支持是提升用户体验的关键技术。其核心原理在于通过布局管理器(如QHBoxLayout、QGridLayout)替代绝对坐标,实现控件间的动态空间协商,并结合尺寸策略(Size Policy)定义控件的伸缩行为。这项技术的价值在于确保应用在不同分辨率、缩放比例下的界面一致性、可用性与专业度,广泛应用于跨平台桌面软件、企业工具及高分辨率显示器环境。针对PyQt5框架,开发者需掌握高DPI属性设置(如AA_EnableHighDpiScaling)、矢量图标处理及字体单位优化

weixin_33754065的博客 354

QT高分辨率自适应4k

本人用Qt 5.14.0版本。

afe_ge的博客 4136

Qt程序在4K屏上界面错乱?3种解决方案实测对比(含Python/C++代码)

本文深入解析Qt程序在4K高分辨率屏幕上界面错乱的3种解决方案,包括系统级设置调整、应用程序兼容性设置和代码级适配(含Python/C++实现)。重点推荐代码级适配方案,详细说明如何通过Qt的高DPI缩放机制实现完美适配,提升跨平台应用的显示质量与用户体验。

weixin_28691003的博客 390

PyQt5桌面开发:从环境搭建到性能优化全指南

Python GUI开发中,PyQt5凭借其跨平台特性和强大的信号槽机制成为主流选择。作为Qt框架的Python绑定,PyQt5通过QSS样式表实现CSS式界面美化,其GPL授权模式对开发者友好。在工程实践中,PyQt5的环境配置涉及Python版本管理、核心组件版本控制及IDE工具链集成,其中conda虚拟环境和VSCode扩展配置是关键环节。针对实际开发痛点,本文详解了Qt Designer可视化设计、PyInstaller打包部署、多语言支持等进阶技巧,并结合pyqtgraph实时绘图、QML混合开发

weixin_30414305的博客 331

高 DPI 适配完整指南:让 PyQt-Frameless-Window 界面在 4K 屏上完美呈现

在 4K 高分屏上运行桌面应用,最让人头疼的莫过于文字发虚、界面模糊、按钮变形——这背后的核心问题就是**高 DPI 适配**。作为一款跨平台的无边框窗口库,**PyQt-Frameless-Window** 对高 DPI 缩放有着非常完善的内置支持,无论你的应用运行在 Win32、Linux 还是 macOS 上,它都能让窗口在 4K 屏上保持锐利清晰。这篇完整指南将带你从零理解 DPI 缩放的

gitblog_00592的博客 880

Windows下PyQt5安装全攻略:从环境诊断到实战开发

Python GUI开发中,PyQt5作为Qt框架的Python绑定,是构建桌面应用的重要工具。其核心原理是通过预编译包将C++编写的Qt库与Python代码结合,实现跨平台界面开发。这一技术价值在于提供了功能完整、性能优异的GUI解决方案,广泛应用于数据分析可视化、工业控制软件、科学计算工具等场景。然而在Windows环境下,版本兼容性和依赖完整性常导致安装失败,特别是DLL加载错误问题。本文聚焦PyQt5安装的常见痛点,深入解析环境配置、pip与conda安装方案对比,以及通过Qt Designer工具

weixin_30321449的博客 443

PyQt5 UI自适应与高DPI缩放:从原理到实战的完整指南

在现代桌面应用开发中,UI自适应与高DPI支持是构建跨平台、多分辨率应用的核心技术。其原理基于设备像素比(DPR)和逻辑像素的概念,通过Qt框架的高DPI缩放策略实现设备无关渲染。这项技术的价值在于确保应用在不同屏幕分辨率和系统缩放比例下保持视觉一致性和可用性,避免界面错乱或模糊。在PyQt5开发中,通过启用Qt::AA_EnableHighDpiScaling属性、合理使用布局管理器(如QHBoxLayout、QVBoxLayout)以及设置控件的尺寸策略,可以构建健壮的自适应界面。典型应用场景包括数据可

weixin_34194087的博客 431

PyQt5与PyCharm环境配置全攻略:从安装到可视化界面开发

在众多桌面应用开发方案中,Qt框架凭借丰富的控件库与跨平台能力,成为构建专业GUI的常见选择,而PyQt5作为其Python绑定,为开发者提供了高效的可视化设计工具。要顺利完成环境搭建,需理清Python虚拟环境、pip包管理及外部工具链之间的协作关系。通过合理配置国内镜像源,可显著加快安装速度;借助PyCharm集成Qt Designer与PyUIC,能大幅简化界面设计与代码转换流程。这一工作流不仅适用于学生课程设计,也覆盖中小型工具软件、数据可视化面板等常见场景。从安装、验证到报错排查,全面掌握这套配置

weixin_34159110的博客 458

【Android】汽车电源管理:深入解析CarPowerManager与Suspend To RAM的交互机制

本文深入解析了Android Automotive OS中CarPowerManager与Suspend To RAM(深度睡眠)的交互机制。详细阐述了从车辆发出睡眠请求,到CarPowerManagementService协调应用状态,最终通过内核进入低功耗睡眠的完整流程,并探讨了唤醒机制、开发者实践及功耗优化策略,为车机应用开发与系统优化提供关键指导。

weixin_28339967的博客 291

PyQt5 Designer界面显示异常与布局错位的终极修复指南

本文详细解析了PyQt5 Designer界面显示异常与布局错位的常见问题及解决方案。从pyuic5参数配置、代码层级修复到高DPI显示适配,提供了一套完整的修复流程,帮助开发者彻底解决控件重叠、窗口尺寸异常等问题,确保界面设计完美还原。

life6的博客 287

足球赛事数据API:开发者生存指南(附真实踩坑记录)

作为一个既爱看球又爱写代码的老宅男,我这些年用过的足球API比看过的比赛还多。从最初被各种API文档折磨到怀疑人生,到现在能闭着眼睛调接口,中间的血泪史够写本书了。今天就把这些经验(和教训)分享给各位同好,特别是那些正在为"老板要做个足球App"而秃头的同行们。文档清晰免费层可用响应格式规范API-Sports免费额度大方支持GraphQL有中文文档(难得!Sportmonks数据全面有Webhook支持按需付费。

Happy0970的博客 2194

PyQt5开发环境配置指南:PyCharm集成Qt Designer与PyUIC

Python桌面开发中,GUI框架的选择直接影响开发效率与最终体验。PyQt5作为Qt框架的Python绑定,凭借丰富的控件与成熟的生态,成为构建跨平台桌面应用的主流方案之一。要提升开发效率,通常需要将可视化界面设计与代码编写分离,这正是Qt Designer等工具的价值所在。通过PyCharm的外部工具机制,可将Qt Designer、PyUIC、PyRcc无缝集成到IDE中,实现.ui文件一键转换为.py代码,从而加速从界面设计到功能实现的开发闭环。本文面向Python桌面应用开发者,系统梳理PyQt5

weixin_33836874的博客 407

FPGA中的CMAC硬核与Interlaken硬核

CMAC硬核和Interlaken硬核是FPGA中两种重要的内置功能模块,它们分别在CNN推理和高带宽芯片到芯片接口方面发挥着关键作用。FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)中的CMAC硬核与Interlaken硬核是两种重要的内置功能模块,它们在FPGA设计中扮演着关键角色。需要注意的是,FPGA设计中的硬核选择不仅取决于硬核本身的性能,还需要考虑硬核与FPGA芯片其他部分的兼容性、功耗、成本等因素。Interlaken硬核。

weixin_41230430的博客 1481

px3 有感分析

px3 后续分析

qq_39707917的博客 3116

PyCharm配置PyQt5完整指南:解决Qt Designer、PyUIC与OpenGL兼容问题

PyQt5是Python生态中主流的跨平台GUI开发框架,其本质是一套融合C++ Qt库与Python绑定的完整开发栈,涉及UI描述(.ui)、资源编译(.qrc)、可视化设计工具(Qt Designer)及代码生成(PyUIC)等关键环节。其核心原理在于Python接口与底层Qt二进制的版本协同与路径注册,技术价值体现在高效构建原生性能桌面应用。典型应用场景包括工业HMI、数据分析工具、自动化脚本界面等。实践中高频卡点集中于PyCharm中Qt Designer无法调用、pyuic5命令不可用、以及ope

weixin_30247781的博客 319

从零到一:用Python打造你的智能交互桌宠,附完整源码与打包指南

本文详细介绍了如何从零开始使用Python开发智能交互桌宠,涵盖环境配置、窗口创建、动图加载、交互功能实现及打包发布全流程。教程特别适合零基础开发者,通过完整源码和分步指南,帮助读者快速掌握桌面宠物开发技巧,打造个性化AI伴侣。

weixin_29094539的博客 293

PyQt5环境配置全指南:VSCode+QtDesigner一站式搭建

PyQt5是Python GUI开发的核心框架,其本质是C++ Qt库的Python绑定,依赖Python解释器、Qt运行时、QtDesigner工具链及IDE配置四者协同。理解PyQt5与Qt版本兼容性、OpenGL渲染后端机制、DPI缩放适配原理,是解决‘界面黑屏’‘UI卡顿’‘分辨率模糊’等高频问题的技术基础。在VSCode中完成PyQt5开发环境搭建,需精准匹配Python 3.7–3.11版本、分步安装PyQt5与PyQt5-Qt5、正确配置QtDesigner路径,并通过uic编译实现UI与逻辑

weixin_34194087的博客 318

ICM20948 DMP代码详解(54)

ICM20948 DMP代码详解(54)

phmatthaus的专栏 424

2025华为od机试真题B卷【字符串计数匹配】Java&Go 实现

给你一个字符串str和整数k,返回满足以下条件的所有子字符串个数: 1.恰好包含k个字母。 2.数字0-9各出现至少一次。

MISAYAONE的博客 640

VSCode+PyQt5深度集成:解决UI卡顿、黑屏与双击打开失效

PyQt5是Python主流GUI开发框架,其核心依赖Qt事件循环、平台插件加载与OpenGL渲染后端。在VSCode中运行PyQt5应用常出现界面卡顿、窗口黑屏、.ui文件双击无响应等问题,本质是Python解释器启动方式、Qt平台插件路径、OpenGL后端绑定及IDE终端GUI进程通信模型之间的多层冲突。这些问题无法通过简单安装插件或修改settings.json解决,需从环境变量控制(如QT_QPA_PLATFORM、QT_OPENGL)、动态路径定位(Qt Designer与plugins目录)、U

weixin_34032621的博客 444

【图像超分】论文精读:Accelerating the Super-Resolution Convolutional Neural Network(FSRCNN)

作为应用于图像超分辨率 (SR) 的成功深度模型,超分辨率卷积神经网络 (SRCNN) [1,2] 在速度和恢复质量方面都比以前的手工制作的模型表现出更好的性能。然而,高计算成本仍然阻碍了它的实际使用,这需要实时性能(24 fps)。在本文中,我们旨在加速当前的 SRCNN,并提出了一种紧凑的沙漏形 CNN 结构,以实现更快和更好的 SR。我们从两个方面重新设计了SRCNN结构。首先,我们在网络末端引入了一个反卷积层,然后将映射直接从原始低分辨率图像(无插值)学习到高分辨率图像。其次,我们通过在映射之前缩小

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1万+

PyQt5环境搭建与配置全攻略

PyQt5是Python生态中强大的GUI开发框架,基于Qt库实现跨平台桌面应用开发。其核心原理是通过Python绑定Qt的C++库,提供620+个类支持复杂界面构建。技术价值体现在原生跨平台能力、高性能渲染(支持OpenGL)和丰富的组件库(如QtChart、QtWebEngine)。典型应用场景包括工业控制系统上位机、医疗影像处理和金融交易终端等。本文详细介绍PyQt5的三种安装方式(标准pip、完整组件、源码编译),并分享VS Code配置、Qt Designer使用技巧等实战经验,帮助开发者快速搭建

weixin_30239339的博客 366

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

PyQt5 UI自适应与缩放:从布局管理到高DPI支持的完整实现方案

在桌面应用开发中,用户界面(UI)的自适应与动态缩放是提升跨平台兼容性和用户体验的核心技术。其原理在于通过布局管理器(如QHBoxLayout、QVBoxLayout)替代绝对定位,结合控件的大小策略(Size Policy)和伸缩因子,构建弹性界面结构。技术价值在于确保应用在不同分辨率、高DPI屏幕下都能保持视觉一致性和操作可用性,避免元素错位或模糊。应用场景广泛覆盖科学计算工具、企业客户端等需要适配多显示环境的软件。本文聚焦PyQt5框架,深入探讨如何整合高DPI支持(AA_EnableHighDpiS

weixin_34378969的博客 294

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

PyQt5-新手避坑指南(持续更新)

本文总结了PyQt5开发中的常见问题及解决方案,包括: 程序异常退出时显示详细报错信息的方法 qrc资源文件的使用与管理 QLabel文字自动换行和图片自适应大小的实现 自定义QCheckBox样式导致勾选标记消失的修复 多线程处理耗时操作的实现方案 无边框窗口的实现、移动和大小调整技巧 窗口最大化/还原动画效果 文章针对PyQt5初学者常见问题提供了实用解决方案,涉及UI设计、资源管理、性能优化等多个方面,并附有代码示例和效果演示图。

懷淰メ的博客 3727
上一篇: HTML5测试 – 你的浏览器能有多好的支持HTML5?
samtry
博客等级 码龄19年 5粉丝 3原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值