首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

qt多屏不同DPI下的拖拽问题

背景在主屏设置DPI=1.5,副屏设置DPI=1.0时,将qt窗口移动到副屏,拖拽qt treeview或者listview中的元素时,会发生异常显示,位置错误等问题定位这里复现之后,考虑的就是windows...下面的Dpi感知,从任务管理器查看DPI感知为【系统】,符合预期,但是为什么还会发生这个异常问题呢仔细定位这里问题发现,出现问题是因为接管了拖拽事件,绘制对应的分割线和移动目标元素都是通过下面代码来找到拖向元素...tree_view->indexAt(tree_view->mapFromGlobal(QCursor::pos()));这里mapFromGlobal出来的坐标显然出现异常导致拖向元素不准确,出现一系列问题跟进...qt源码,发现qt在win8.1之后会自动设置DPI感知为PerMonitor类型,来避免不同DPI的多屏缩放问题QWindowsIntegrationPrivate::QWindowsIntegrationPrivate...m_context.initPowerNotificationHandler();}解决这里qt设置QtWindows::ProcessPerMonitorDpiAware显然不符合预期,需要修改默认DPI

45210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【QT】获取主屏幕DPI

    背景在DpiAware = SystemAware的情况下需要获取主屏的DPI值,DPI感知DPI(Dots Per Inch)是指每英寸的点数,通常用于描述屏幕分辨率。...在Windows操作系统中,DPI感知(DPI Awareness)是指应用程序能够感知到屏幕的DPI设置,并根据DPI值调整其界面元素的大小和布局,以提供更好的用户体验。...DPI感知有两种模式:系统DPI感知和每个监视器DPI感知。系统DPI感知(System aware)系统DPI感知是指应用程序根据整个系统的DPI设置来调整其界面元素的大小和布局。...每个监视器DPI感知(Per Monitor)每个监视器DPI感知是指应用程序能够检测到每个显示器的DPI设置,并根据每个显示器的DPI值分别调整其界面元素的大小和布局。...这种模式下,当用户在不同DPI设置的显示器之间移动应用程序窗口时,应用程序的界面会自动适应每个显示器的DPI设置。

    30110

    Windows微信DPI适配

    在开发过程中,我们会接触到两个DPI的概念:面板DPI和OS DPI。 面板DPI是设备真实的DPI,是一个固定的物理属性。...OS DPI是操作系统根据面板DPI校准后的一个标准化的DPI值。适配过程中所使用的DPI都是指的OS DPI。...2.2 DPI和缩放比例的关系 现在我们已经知道DPI是个什么了,那么DPI又是怎样影响我们应用程序的界面的呢?...面板DPI是不变的,OS DPI是可以通过设置改变的,并且应用中获取到的DPI是OS DPI。那么用户就可以通过改变OS DPI来实现缩放系统界面元素和应用界面。...实际适配时,支持96、120、144、192四种标准DPI即可,其它DPI则可以取相近的标准DPI。最后根据DPI就可以确定水平和垂直方向的缩放因子。

    5.8K90

    谈谈DPI、分辨率与缇

    这就引发了下一个问题,屏幕上的1像素打印出来到底是多大。可以注意到的是像素本身是不跟现实中的物理量有什么联系的,但是有一个东西是有联系的,那就是 DPI,将英寸和像素联系起来了。...DPI 有什么用 屏幕 DPI 对于客户端开发来说,在系统层面,是无法准确知道用户的电脑屏幕是多大的,对于客户端,只能感知屏幕有多少个像素。...但是如果你根据上边的公式算一下,其实不难算出,这种高分屏的 DPI 是要比 96 大的,如果细心观察,高分屏默认选择的 DPI 也不是标准 DPI 而是放大的,其实就是因为它比 96 要大而已,因为有这个值...通常做法是,看是 96 的多少倍,对自己的软件内部元素做相应倍数放大,这就是高分屏适配的一般做法 图片 DPI 而对于某个图片设置 DPI 的作用则是控制图片打印出来的大小。...但是相同像素大小的图片,不同 DPI,它们打印出来大小就截然不同了,因为在这里就要根据 DPI 换算它们的实际大小,才能准确的打印在纸上,这就跟 DPI 有关了。

    1.3K40

    DPI、DFI技术说明及比较

    一、DPI技术说明 (一)DPI简介 DPI 全称为“Deep Packet Inspection”,称为“深度包检测”。...(二)DPI技术原理 DPI 的技术关键是高效的识别出网络上的各种应用。普通报文检测是通过端口号来识别应用类型的。如检测到端口号为80时,则认为该应用代表着普通上网应用。...(四)DPI 技术应用 利用DPI技术在IP网络中部署DPI系统,可实现网络运营中的业务识别、业务控制、业务统计三大功能。 ?...(五)DPI 技术发展 可以看出,DPI的检测技术和网络上非正常应用的反检测是矛和盾的关系。...三、DFI技术与DPI技术比较 ? ? DFI与DPI两种技术的设计基本目标都是为了实现业务识别,但是两者在实现的着眼点和技术细节方面还是存在着较大区别的。

    6.4K52

    屏幕分辨率dpi计算_hypodensity

    所以光看屏幕的分辨率对于设计师来说是不具备多少实际意义的,通过分辨率计算得出的像素密度(PPI)才是设计师要关心的问题,我们通过屏幕分辨率和屏幕尺寸就能计算出屏幕的像素密度的。...和标准dpi的比例(160px/inc) 分辨率 : 横纵2个方向的像素点的数量,常见取值 480X800 ,320X480 屏幕尺寸: 屏幕对角线的长度。电脑电视同理。 屏幕比例的问题。...计算dpi    比如一个机器,屏幕4寸,分辨率480X800,他的dpi能算么。   ...为啥 标准dpi = 160   (1)Android Design [1] 里把主流设备的 dpi 归成了四个档次,120 dpi、160 dpi、240 dpi、320 dpi   实际开发当中,我们经常需要对这几个尺寸进行相互转换...将dp单元转换为屏幕像素很简单:px=dp(dpi/160)。例如,在240 dpi屏幕上,1 dp等于1。5物理像素。

    3.9K20

    Windows远程设置分辨率DPI缩放

    Server2008R2,远程分辨率DPI缩放默认是100%,无法调整,但不知道阿里云咋实现的,能调整,肯定是改什么东西了,微软默认的产品设计是不允许远程改DPI缩放的。...在一些高清屏的客户端远程2008R2时,2008R2的字确实很小,有碍观瞻,于是从2012R2开始,微软远程分辨率DPI缩放级别默认是150%。...但不知道阿里云咋实现的,阿里的Server2008R2能在远程会话里调分辨率DPI缩放级别。...以下是您提到的每个键的作用: AppliedDPI:此键表示当前屏幕的 DPI(每英寸点数)设置。DPI 设置会影响屏幕上显示的文本和图像的大小。...以上DPI缩放的bug一直持续到Server2022才修正。低版本系统安全性、功能性、健壮性相对来说都不如最新版系统。

    1.3K10
    领券