Qt编程基础 | 第四章-布局管理器 | 4.2、DPI对布局的影响

高DPI显示---High DPI Displays 与标准DPI显示器相比,高DPI显示器具有增加的像素密度。 像素密度以每英寸点数(DPI)或每英寸像素数(PPI)度量,并由显示像素的数量及其大小确定。因此,仅像素数量不足以确定显示器是否属于高DPI类别。 4K显示器具有固定数量的像素(〜8M),但是其DPI在185(23英寸)和110(40英寸)之间变化。前者大约是标准96 DPI桌面分辨率的两倍;后者几乎不超过该分辨率。 高DPI带来的挑战 高DPI显示给现有应用带来了一些挑战: 使用具有固定坐标的UI设计的应用程序看起来很小 以点为单 阅读详情

一、DPI对布局的影响

1.1、什么是DPI?

DPI:DPI是Dots Per Inch(每英寸所打印的点数或线数)的缩写。屏幕分辨率:显示分辨率就是屏幕上显示的像素个数,分辨率160×128的意思是水平像素数为160个,垂直像素数128个。DPI可以简单的理解成每英寸有多少像素。

1.2、修改DPI为什么对显示有影响?

1)修改了DPI之后,例如从96DPI修改到120DPI:96DPI可以理解为用96象素来表示一英寸,而变成120DPI的时候,是用120像素来表示一英寸。
2)windows中的文字尺寸使用pt这个单位来定义的,这个单位的含义是1/72英寸,而当把这样的文字显示在显示器上的时候,中间需要做一个转换,把这个物理尺寸转换成像素数。
3)从上面两点我们可以看出:

  • 调整前:字体9pt = 9 * 1/72英寸 = 9 * 1/72 * 96 像素
  • 调整后:原来字体9pt = 9 * 1/72英寸 = 9* 1/72 * 120像素

已知屏幕的分辨率1024*768像素不变,那么字体像素数增多,显示在屏幕上的面积自然也要增大了,字体也就在屏幕上变大了。
4)字体就变大了,界面上的控件位置也就相应发生了变化,或部分被遮挡,或其它,对界面的显示就会造成影响

【Qt】根据界面所在显示器自适应调整ui大小 使用QDesktopWidget、QApplication::screens()等获取屏幕宽高、DPI等信息,详见上一篇概述。 阅读详情

相关推荐

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

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

weixin_33754065的博客 354

qt 获取dpi_QT DPI适配,以及窗口输出计算

windows缩放,和QT界面适配 一、QT有自适应DPI适配方案(但是有部分缺陷)int main(int argc, char *argv[]){// 开启DPI适配--需要放在QApplication 前面QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QApplication a(argc, argv);}二、DPI...

weixin_36347133的博客 2265

QT跨平台应用DPI与分辨率适配:从界面变形到完美显示的完整解决方案

在桌面应用开发中,跨平台界面适配是开发者常面临的核心挑战,尤其在多分辨率和系统缩放环境下。其原理涉及逻辑像素与物理像素的映射机制,以及操作系统DPI缩放对界面渲染的影响。正确处理这一问题对提升应用专业性和用户体验具有重要技术价值,广泛应用于需要支持不同显示设备的桌面软件、工业控制界面等场景。本文聚焦QT框架,针对高DPI屏幕和系统缩放导致的界面错乱、控件拥挤等常见问题,提供从基础配置到弹性布局的系统性解决方案,涵盖多分辨率图像处理、矢量SVG应用等关键技术点,帮助开发者构建真正自适应的跨平台GUI应用。

weixin_31423955的博客 353

Qt之高DPI显示器 - 解决方案整理

综上:对于我们软件开发来说,其实所说的像素大小都是指PPI,这里要区分不是显示器的固定PPI,windows系统上修改DPI时其实修改的系统模拟出来的PPI;每英寸像素数,像素表示的是“图片的原色”,足够靠近你显示屏上的图片你就会看到他们:一排一排的小方块。在打印的过程中,所有在屏幕上组成图片的物理pixel都被转换成不同色调的小正方形,这些小正方形是另外一种“像素”,下文中都使用pixel-d来表示。需要注意的是,pixel 是一个固定大小的物理物体,因此,一个屏幕上的 PPI 是固定的。

hw5230的博客 2365

Qt Designer 布局管理器深度解析:5种布局实现自适应界面的3个关键参数

本文深入解析Qt Designer中的5种核心布局管理器(垂直、水平、网格、表单、分割器)及其实现自适应界面的3个关键参数(拉伸因子、边距与间距、控件大小策略)。通过详细示例和优化技巧,帮助开发者构建高效、美观的跨平台GUI应用,提升Qt UI设计能力与用户体验。

weixin_30732487的博客 372

QT界面布局优化:如何正确使用centralWidget和Layout避免showMaximized失效

本文深入探讨了QT界面布局优化中centralWidget和Layout的正确使用方法,解决了showMaximized失效的常见问题。通过分析QMainWindow的核心组件结构和布局管理器的约束机制,提供了操作顺序调整和代码实践的最佳方案,帮助开发者提升QT界面布局的稳定性和用户体验。

weixin_29294597的博客 394

QT 高DPI解决方案

【代码】QT 高DPI解决方案。

guorong520的博客 1938

QT窗体大小控制全攻略:从setFixedSize到高级事件处理

本文全面解析了QT框架中窗体尺寸控制的核心技术与实践方法。从基础的setFixedSize函数使用入手,深入探讨了其应用场景与局限性,并详细介绍了如何利用事件过滤器实现状态感知的动态尺寸管理,以及如何适配多显示器与全屏等高级场景。文章旨在帮助开发者掌握从固定尺寸到自适应布局的完整解决方案,提升桌面应用的专业性与用户体验。

weixin_29197835的博客 612

Qt 实战(5)布局管理器 | 5.1、DPI对布局的影响

DPI(Dots Per Inch,每英寸点数或像素数)可以简单地理解为每英寸有多少像素。例如,一个分辨率为160×128的屏幕意味着水平方向上有160个像素,垂直方向上有128个像素。DPI越高,屏幕显示的清晰度就越高。在Qt程序中,DPI的设置会影响字体、图片等元素的显示大小。如果DPI设置得较高,那么字体和图片等元素在屏幕上就会显得更大。DPI是影响Qt应用程序布局的重要因素之一。为了优化布局以适应不同DPI的环境,可以使用布局管理器、响应式布局等方法。

个人技术博客 896

microduck复刻实战:强化学习机器人从仿真训练到真机部署全攻略

强化学习是智能体通过与环境交互试错来学习最优策略的机器学习范式,在机器人控制领域,常借助物理仿真环境进行策略训练,以降低真实世界的试错成本。其核心原理是通过奖励信号引导策略网络迭代优化,PPO等算法则在稳定性和样本效率之间取得平衡。仿真训练的价值在于可批量验证控制策略,但仿真与真实硬件之间存在物理参数偏差,需通过域随机化等技术实现迁移。从四足机器人到仿生机器人,这类方案广泛应用于复杂运动控制任务。microduck作为一个典型的强化学习机器人项目,其复刻过程涉及环境搭建、奖励设计、PPO调参及Sim-to-

weixin_29061425的博客 361

使用 Wireshark 进行计算机网络协议分析

文章目录实验前准备一、Wireshark抓包示例二、Wireshark实作1、数据链路层实作一 熟悉Ethernet帧结构实作二 了解子网内/外通信时的 MAC 地址实作三 掌握 ARP 解析过程2、网络层实作一 熟悉 IP 包结构实作二 IP 包的分段与重组实作三 考察 TTL 事件3、传输层实作一 熟悉 TCP 和 UDP 段结构实作二 分析 TCP 建立和释放连接4、应用层实作一 了解 DNS 解析实作二 了解 HTTP 的请求和应答 实验前准备 本部分实验用到的是抓包和协议分析软件——Wiresha

weixin_51087836的博客 8199

Qt布局管理器实战:用QGridLayout和QFormLayout做一个仿系统设置界面

本文详细介绍了如何使用Qt的QGridLayout和QFormLayout布局管理器构建一个专业的系统设置界面。通过实战案例,展示了如何规划界面结构、使用表单布局管理用户信息、利用网格布局处理复杂选项组,并分享了高级布局技巧如动态间距控制和响应式设计,帮助开发者提升Qt界面开发效率。

weixin_30693683的博客 430

Kafka延迟队列实现方案全解析

$ \text{时间轮} = \text{环形数组} + \text{分层设计} $$需要补充代码实例或特定场景的优化方案可进一步细化,此大纲已覆盖核心技术路径。

lz989796的博客 817

Qt布局管理实战:从绝对定位到自适应界面设计

在GUI开发中,界面布局是构建用户交互的基础。其核心原理在于动态管理控件的位置与尺寸,以适应不同屏幕分辨率和窗口大小。这项技术的价值在于提升应用的跨平台兼容性和用户体验,避免界面错乱。通过布局管理器,开发者可以高效实现控件排列、伸缩和对齐,广泛应用于桌面软件、表单工具和复杂仪表盘等场景。本文聚焦Qt框架,深入解析绝对定位的局限性与布局管理器的优势,结合QHBoxLayout、QVBoxLayout等实例,探讨大小策略与伸缩因子等关键机制,帮助开发者掌握构建自适应界面的工程实践。

aaa1231722的博客 551

【FPGA】Robei EDA 的使用(7)—— Robei文件上板试验

#沐朝露兮以自华,觅大道兮以求成 我又滚过来了,研究了20多天RISCV,结果最后因为硬件问题导致无法在比赛中使用RISCV CPU,虽然已经临近比赛后期了,非常的崩溃,但是也没有什么办法。唉,一切不过是从头再来罢了。(写写博客舒缓我心中苦闷) ————————————————进入正文的分割线———————————————— 今天介绍一下如何利用 Robei EDA 生成文件,导入vivado中,综合下载到开发板里。拿我一个PWM控制舵机的代码为例。 Robei EDA设置 假设代码模块(model文件)经

Ninquelote的博客 2563

实战!C#整合YOLO+Halcon做玻璃瓶口缺陷检测:裂纹识别+尺寸测量一步到位(附DLL交互代码)

AI擅长语义识别(裂纹、缺陷),传统机器视觉擅长精密测量(尺寸、位置),C#做整合层,才能满足工业生产的“精度+效率+稳定性”要求。这套方案不只是玻璃瓶检测能用,改改模型和测量逻辑,还能用到瓶盖缺陷检测、饮料瓶液位检测等场景。如果你们厂也有类似的质检痛点,评论区留个言,我帮你看看怎么调整算法参数。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 870

QT6.2 Tab Widget避坑指南:为什么你的标签页总错位?附完整解决方案

本文深入剖析了QT6.2中Tab Widget布局错位、内容溢出及切换闪烁等常见问题的根源,核心在于对布局管理器与控件sizePolicy的协同机制理解不足。文章提供了从原理分析到实战代码的完整解决方案,包括强制页面独立布局、精细化控制尺寸策略、避免QSS陷阱以及封装可直接复用的响应式Tab Widget模板,帮助开发者彻底解决QT Tab Widget的布局难题。

w7x8y9z的博客 438

机器人常用坐标系详解:原理、获取方法及实战实例

本文系统阐述了机器人四大核心坐标系(世界、基、工具、工件)的原理与标定方法。世界坐标系提供全局参考基准,基坐标系绑定机器人本体,工具坐标系定义末端执行器位置,工件坐标系则锁定作业对象位置。通过齐次变换矩阵实现各坐标系间的关联转换。重点介绍了三类标定技术:手动设定法(世界坐标系)、三点/六点法(工具TCP标定)和视觉识别法(工件标定),并以工业机械臂上下料为例演示了完整应用流程。随着技术发展,自动化标定、动态坐标系等新趋势将进一步提升机器人作业精度与效率。

start_up_go的博客 513

从零开始:探索Qt布局管理器的底层实现与设计哲学

本文深入解析Qt布局管理器的底层实现与设计哲学,重点探讨setLayout方法的内部机制及其单次生效原理。通过代码示例展示Qt布局系统的架构、嵌套布局实现及自定义布局开发,帮助开发者掌握GUI界面自动排列的核心技术,提升跨平台应用开发效率。

weixin_29268637的博客 570

VTK-9.5.0 1D2D3DWidget实现灰度图+深度图+3D点云显示(可轻松集成到自己的项目)

VTK1D2D3DWidget是一个基于Qt和VTK开发的3D点云可视化工具,支持RGB和深度点云数据的显示与处理。主要功能包括点云加载、可视化、保存为PLY格式文件,以及背景颜色、点间隔、坐标轴显示等参数的自定义设置。该工具采用模块化设计,核心组件包括主窗口管理类、VTK渲染组件和自定义鼠标交互样式,依赖Qt5+和VTK9.5.0库实现跨平台支持。项目提供完整的源码和构建指南,适用于点云数据的快速展示与分析。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 385

【数字IC/FPGA】低功耗设计

低功耗设计方法功耗的类型低功耗设计方法静态低功耗技术多阈值工艺方法电源门控方法体偏置动态低功耗技术多电压域(Multi-Voltage Domain)预计算门控时钟门级优化技术毛刺的消除逻辑级优化物理级优化控制输入向量低功耗Soc系统的动态管理动态电压及频率调节技术低功耗操作系统存储器功耗控制总结 功耗的类型 CMOS电路中的功耗由两部分构成,第一部分为负载电容充放电时引起的功耗,称为动态功耗,另一部分为漏电流引起的功耗,称为静态功耗。其中动态功耗包括翻转功耗和短路功耗。翻转功耗是数字电路中信号翻转时电容充

qq_40268672的博客 3072

为什么你的QT窗口锁不住尺寸?排查setFixedSize失效的5种情况(含跨平台兼容方案)

本文深入分析了QT开发中setFixedSize失效的5种常见原因,包括布局管理器冲突、样式表覆盖、高分屏缩放、窗口标志配置和子控件干扰,并提供了跨平台兼容解决方案。通过代码示例和调试技巧,帮助开发者有效锁定窗口尺寸,提升QT应用的用户体验。

rnn9storyteller的博客 926

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

让Qt应用在多分辨率世界中游刃有余:自适应分辨率解决方案

让Qt应用在多分辨率世界中游刃有余:自适应分辨率解决方案 【下载地址】Qt程序窗口自适应分辨率解决办法 Qt程序窗口自适应分辨率解决办法在开发Qt应用程序时,经常遇到的一个挑战是确保应用程序界面能够在不同设备、不同分辨率以及不同显示缩放比例下保持良好的显示效果 ...

gitblog_06630的博客 1331

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Qt中的高分辨率及缩放处理

如果希望当系统缩放设置增大时,应用能相应地缩小,以保持相同的视觉效果,可以自定义实现缩放处理。这通常被称为DPI缩放感知。注意这不是标准的缩放敏感性行为。通常,当用户增加系统的缩放设置时,他们期待更大的UI元素,以便在高分辨率上更容易阅读和操作。反过来,如果应用在用户增加系统缩放设置时缩小自己的UI,那么可能会引发用户的迷茫和困扰,因为他们把系统的缩放设置调大,却看到应用的UI反而变小了。大致原理如下:在软件初始化时,初始化并维护一个缩放因子。

SNAKEpc12138的博客 3338

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

weixin_34378969的博客 294

Qt按钮图标文字布局优化:三种方案实现图标在上文字在下

在桌面应用开发中,UI控件的自定义布局是提升用户体验和界面美观度的重要环节。Qt框架作为跨平台C++图形用户界面应用程序开发框架,其内置的QPushButton组件默认采用图标在左、文字在右的布局。然而,在现代软件界面设计中,尤其是在导航栏、工具栏或功能面板中,图标在上、文字在下的垂直布局因其直观性和空间利用率高而备受青睐。这种布局调整的核心原理在于对控件内容区域的重定义与子控件的精准定位。从技术价值看,实现这种布局不仅能满足特定的视觉设计需求,还能增强控件的可读性和交互效率。在应用场景上,它广泛用于专业软

weixin_33946605的博客 372
上一篇: Visual Studio | 快捷键
下一篇: Qt编程基础 | 第四章-布局管理器 | 4.1、布局管理器简介
一个不务正业的程序猿
博客等级 码龄11年 1879粉丝 563原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值