C++/Qt获取屏幕尺寸和放大比例

这篇具有很好参考价值的文章主要介绍了C++/Qt获取屏幕尺寸和放大比例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

直接上代码

#include "QtWidgetsApplication4.h"
#include <Windows.h>
#include <qdebug.h>
#include <qscreen.h>
QtWidgetsApplication4::QtWidgetsApplication4(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
	///windows函数获取 start
	//HWND hwd = ::GetDesktopWindow();
	//HDC hdc = ::GetDC(hwd);
	//int nWidth1 = GetDeviceCaps(hdc, DESKTOPHORZRES);	//屏幕宽
	//int nHeight1 = GetDeviceCaps(hdc, DESKTOPVERTRES);	//屏幕高
	HDC hd = GetDC(NULL);
	int dotPix1 = GetDeviceCaps(hd, LOGPIXELSX);
	int dotPix2 = GetDeviceCaps(hd, LOGPIXELSY);	//获取放大比例
	///windows函数获取 end/


	//Qt///
	QScreen *screen = qApp->primaryScreen();
	int nWidth2 = screen->size().width();			//屏幕宽
	int nHeight2 = screen->size().height();			//屏幕高
	qreal dpiVal1 = screen->logicalDotsPerInch();	///Qt获取放大比例
	qreal dpiVal2 = screen->logicalDotsPerInchX();	///Qt获取放大比例
	
}

屏幕放大倍数 100% 125% 150% 200%,对应的dpiVal值为:96、 120、 144 、192。

即上面变量dotPix1、dotPix2、dotPix3、dotPix4获取的值都是96 120 144 192其中的一个值。

函数介绍

1、logicalDotsPerInchX : const qreal

This property holds the number of logical dots or pixels per inch in the horizontal direction

This value is used to convert font point sizes to pixel sizes.

 此属性保存每英寸的逻辑点数或像素数。 此值可用于将字体点大小转换为像素大小。这是一个方便的属性,它只是logicalDotsPerInchX 和logicalDotsPerInchY 属性的平均值。

2、logicalDotsPerInch : const qreal

This property holds the number of logical dots or pixels per inch

This value can be used to convert font point sizes to pixel sizes.

This is a convenience property that's simply the average of the logicalDotsPerInchX and logicalDotsPerInchY properties.

此属性保存每英寸的逻辑点数或像素数 此值可用于将字体点大小转换为像素大小。 这是一个方便属性,它只是logicalDotsPerInchX 和logicalDotsPerInchY 属性的平均值。文章来源地址https://www.toymoban.com/news/detail-423342.html

到了这里,关于C++/Qt获取屏幕尺寸和放大比例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • OpenCV单通道图像按像素成倍比例放大(无高斯平滑处理)

    OpenCV中的resize函数可以对图像做任意比例的放大(/缩小)处理,该处理过程会对图像做高斯模糊化以保证图像在进行放大(/缩小)后尽可能保留源图像所展现的具体内容(消除固定频率插值/采样带来的香农采样信息损失),但在有些场景中该方法不适用,如:部分应用场景只

    2024年04月11日
    浏览(52)
  • 各类主流设备屏幕尺寸查询,屏幕尺寸对照表

    Acer Chromebook Chrome 11.6 29.0 1366 768 1366 135 100% MDPI 16 : 9 0 Google Chromebook Pixel Chrome 12.9 33.0 2560 1700 1280 239 200% XHDPI 3 : 2 0 Samsung Chromebook Chrome 11.6 29.0 1366 768 1366 135 100% MDPI 16 : 9 0 Apple Cinema Display 30\\\" OS X 30.0 76.0 2560 1600 2560 100 100% MDPI 8 : 5 0 Apple Thunderbolt Display 27\\\" OS X 27.0 69.0 2560 1440 2560 1

    2024年02月05日
    浏览(130)
  • scss使用自定义函数实现单位像素随屏幕比例动态缩放

    vue中通过变量和scss函数来动态实现动态缩放像素 简单来说就是比例缩小时,像素单位变大,从而字体大小相对不变,以下仅处理比例缩小的状况 自定义一个属性–size,初始值为1px template map为:{100: 1, 90: 1.1, 80: 1.2, 75: 1.3, 67: 1.5, 50: 2, 33: 3, 25: 4 } 屏幕100%时,size=1 = mpx(1) = 1p

    2024年02月07日
    浏览(30)
  • Flutter PC桌面端 控制应用尺寸是否允许放大缩小

    桌面端中,登录、注册、找回密码页面不允许用户手动放大缩小,主页面允许 window_manager 使用教程请参照这篇博客:Flutter桌面端开发——window_manager插件的使用 题外话: 之前使用的是 bitsdojo_window 插件,使用方法请参照博客 bitsdojo_window 这个插件中,如果想要用户不允许操作

    2023年04月20日
    浏览(38)
  • Halcon不改变目标大小尺寸及坐标,放大图像或区域

    如果需要检测一张图像中很细小的物体,计算机可能可以观察到,但人的肉眼很难判别。这时候就需要放大图像中目标所在区域进行观测,放大观察可能会导致图像被放大,目标相对原始图像的坐标大小信息会被改变。如下,分割图中目标所在区域进行放大显示,该操作会改

    2024年02月09日
    浏览(34)
  • Android适配平板屏幕尺寸

    一、划分手机和平板 人为判断方法:     大于6英寸的就是平板。小于6英寸的都是手机     平板尺寸: 6英寸、7英寸、10英寸、14英寸… Android系统支持多配置资源文件,我们可以追加新的资源目录到你的Android项目中。命名规范: 资源名字-限制符 layout/drawble文件夹     说

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

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

    2024年02月04日
    浏览(112)
  • Apple设备屏幕尺寸和方向

    表格中包括了各种型号的iPad、iPhone、以及iPod touch等设备的详细信息,涵盖了从iPad Pro到各代iPhone和iPod touch的多个型号。 这些信息可用于开发应用程序时优化界面布局和图像显示,确保在不同设备上有良好的显示效果。 Device screen sizes and orientations Device Dimensions (portrait) 12.9”

    2024年02月19日
    浏览(45)
  • 【Unity3d】【相机】透视相机UI转换(3DUI+保持屏幕比例)

    0. 基础知识点 正交相机 : 正交相机的的orthographicSize ,是 二分之一的屏幕高度,即 orthographicSize = H/2。 透视相机 : 相机的aspect为相机的视口的宽高比: aspect = W/H 即: W = H * aspect 透视相机的屏幕高度H 随着相机的中心距离和fov变化。公式为: H = distance * tan(fov*0.5) * 2 相机视

    2024年02月04日
    浏览(89)
  • [unity]如何通过代码获取UI宽高和屏幕宽高

    1.获取UI宽高 首先,使用GetComponentRectTransform().sizeDelta获取,但是这样会有问题,会跟锚点设置有关,改变设置后获取不对 只适用于MiddleCenter 所以又看了API,可以使用GetComponentRectTransform().rect获取 打印如下:  2.获取屏幕宽高 宽度: UnityEngine.Screen.width 高度: UnityEngine.Screen.

    2024年02月17日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包