当前位置: 首页 > news >正文

【QT】如何获取屏幕(桌面)的大小或分辨率

目录

  • 1. QDesktopWidget 获取系统屏幕大小
  • 2. QScreen 获取系统屏幕大小
  • 3. geometry() 与 availableGeometry() 的区别

1. QDesktopWidget 获取系统屏幕大小

QDesktopWidget 提供了详细的位置信息,其能够自动返回窗口在用户窗口的位置和应用程序窗口的位置

QDesktopWidget* pDesktopWidget = QApplication::desktop();//获取可用桌面大小
QRect deskRect = QApplication::desktop()->availableGeometry();
//获取主屏幕分辨率
QRect screenRect = QApplication::desktop()->screenGeometry();
//获取屏幕数量
int nScreenCount = QApplication::desktop()->screenCount();

Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。
Qt 6.0 及之后版本,QDesktopWidget 已从QtWidgets 模块中被彻底移除。

2. QScreen 获取系统屏幕大小

Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。

#include<QScreen>
#include<QRect>//单屏幕
QScreen* screen = QGuiApplication::primaryScreen();  //获取主屏幕//多屏幕
QList<QScreen *> screenList =  QGuiApplication::screens();  //多显示器
QList<QRect *> rectList;
for(int i = 0; i < screenList.size(); i++){rectList.append(screenList.at(i).geometry());  //分辨率大小
}

注意:如果是多屏幕,其每个屏幕的rect是不一样的,起始坐标不同,第一个屏幕的起始坐标是(0, 0),第二个屏幕的起始坐标是(1920, 0)

3. geometry() 与 availableGeometry() 的区别

QScreen* screen = QGuiApplication::primaryScreen();QRect rect1 = screen->geometry();
qDebug() << "rect1" << rect1.size().width() << rect1.size().height();
qDebug() << rect1.topLeft();
qDebug() << rect1.bottomRight();QRect rect2 = screen->availableGeometry();
qDebug() << "rect2" << rect2.size().width() << rect2.size().height();
qDebug() << rect2.topLeft();
qDebug() << rect2.bottomRight();
  • geometry()返回的是屏幕的大小,即屏幕分辨率大小,包括屏幕下方的工具栏(1090*1080)
  • availableGeometry()返回可用屏幕的大小,不包括屏幕下方的工具栏(1090*1040)

相关文章:

【QT】如何获取屏幕(桌面)的大小或分辨率

目录1. QDesktopWidget 获取系统屏幕大小2. QScreen 获取系统屏幕大小3. geometry() 与 availableGeometry() 的区别1. QDesktopWidget 获取系统屏幕大小 QDesktopWidget 提供了详细的位置信息&#xff0c;其能够自动返回窗口在用户窗口的位置和应用程序窗口的位置 QDesktopW…...

ETL工具的选择

正确选择 ETL 工具&#xff0c;可以从 ETL 对平台的支持、对数据源的支持、数据转换功能、管理 和调度功能、集成和开放性、对元数据管理等功能出发&#xff0c;具体如下。 支持平台 随着各种应用系统数据量的飞速增长和对业务可靠性等要求的不断提高&#xff0c;人们对数据抽…...

SpringBoot仿天猫商城java web购物网站的设计与实现

1&#xff0c;项目介绍 基于 SpringBoot 的仿天猫商城拥有两种角色&#xff0c;分别为管理员和用户。 迷你天猫商城是一个基于SSM框架的综合性B2C电商平台&#xff0c;需求设计主要参考天猫商城的购物流程。 后端页面兼容IE10及以上现代浏览器&#xff0c;Chrome,Edge,Firebox…...

C#基础教程22 文件的输入与输出

C# 文件的输入与输出 一个 文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个 流。 从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流 和 输出流。输入流用于从文件读取数据(读操作),输出流用于向文件写入数…...

Ubuntu18.04 python 开发usb通信

一、安装环境 1.安装pip sudo python3 get-pip.py 或 sudo -i apt update apt install python3-pip 确定pip是否安装成功&#xff1a; xxx-desktop:~$ pip3 --versionpip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)2.安装pyusb pip3 install pyusb --use…...

RabbitMq 消息确认机制详解 SpringCloud

1 消息可靠性 消息从发送&#xff0c;到消费者接收&#xff0c;会经理多个过程,其中的每一步都可能导致消息丢失. #### 2 常见的丢失原因 发送时丢失&#xff1a; 生产者发送的消息未送达exchange 消息到达exchange后未到达queueMQ宕机&#xff0c;queue将消息丢失 consumer…...

后台导航布局

五、后台导航实例 参考链接&#xff1a; 页面后台导航制作 如何实现html后台导航iframe点击换url&#xff08;代码&#xff09; 如何消除html页面下边和右边的滚动条 html页面有多个滚动条时的优化 页面出现不必要的滚动条&#xff0c;怎么调试&#xff1f; 一个页面有两…...

设计模式——抽象工厂模式(创建型)

一、介绍抽象工厂模式是一种创建型设计模式&#xff0c; 它能创建一系列相关的对象&#xff0c; 而无需指定其具体类。问题假设你正在开发一款家具商店模拟器。 你的代码中包括一些类&#xff0c; 用于表示&#xff1a;一系列相关产品&#xff0c; 例如 椅子Chair 、 沙发Sofa和…...

Java面试题--SpringMVC的执行流程

概要 SpringMVC是一种基于MVC&#xff08;Model-View-Controller&#xff09;框架的Web应用开发框架。下面是SpringMVC的详细执行流程。 客户端向DispatcherServlet发送请求。DispatcherServlet收到请求后&#xff0c;根据HandlerMapping&#xff08;处理器映射&#xff09;找…...

c# 32位程序突破2G内存限制

起因 在开发过程中&#xff0c;由于某些COM组件只能在32位程序下运行&#xff0c;程序不得不在X86平台下生成。而X86的32位程序默认内存大小被限制在2G。由于程序中可能存在大数量处理&#xff0c;期间对象若没有及时释放或则回收&#xff0c;内存占用达到了1.2G左右&#xff…...

【C语言】指针详解总结

指针1. 指针是什么2. 指针和指针类型2.1 指针-整数2.2 指针的解引用3. 野指针3.1 野指针成因3.2 如何规避野指针4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算5. 指针和数组6. 二级指针7. 指针数组1. 指针是什么 指针是什么&#xff1f; 指针理解的2个要点&#xf…...

Java加解密(八)工具篇

目录Java加解密实用工具1 OpenSSL2 Keytool3 XCA4 KeyStore ExplorerJava加解密实用工具 1 OpenSSL OpenSSL是一个开放源代码的软件库包&#xff0c;应用程序可以使用这个包来进行安全通信&#xff0c;避免窃听&#xff0c;同时确认另一端连接者的身份。 例如Apache 使用它加…...

Go框架三件套(Web/RPC/ORM)

&#x1f9e1; 三件套介绍 Gorm Gorm 是一个已经迭代了10年的功能强大的 ORM 框架&#xff0c;在字节内部被广泛使用并且拥有非常丰富的开源扩展。 Kitex Kitex 是字节内部的 Golang 微服务 RPC 框架&#xff0c;具有高性能、强可扩展的主要特点&#xff0c;支持多协议并且拥有…...

HR问:假如公司给不到你期望的薪资怎么办?这个问题该如何体面地回答?

对大多数人而言&#xff0c;跳槽就是为了涨薪&#xff0c;工作就是为了挣钱。但如果面试时hr问&#xff1a;假如公司给不到你期望的薪资呢&#xff1f;面对这种问题&#xff0c;该怎么回答才体面&#xff1f;来看一波网友的机智回答&#xff1a;有人委婉拒绝&#xff0c;说“愿…...

LearnOpenGL-高级OpenGL-2.模板测试

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录简单理解模板测试模板介绍模板函数物体轮廓介绍代码给加载的模型添加轮廓简单理解 同深度测试一样…...

【Git从入门到精通】Git入门

什么是版本控制 版本控制是一套系统&#xff0c;按时间记录某一个或一系列文件的变更&#xff0c;查看以前的特定版本。 使用版本控制系统&#xff0c;你可以将文件或者整个项目恢复到先前的状态&#xff0c;还可以对以前的文件进行对比。 本地版本控制系统 本地版本控制系…...

软件测试18

在桌面上打开终端窗口, 执行如下操作: 查看当前系统中开放的端口有哪些查看哪个程序正在使用 3306 端口(需要 root 用户权限) 注意&#xff1a; 1.某些端口号具备固定用途&#xff1a; 例如&#xff1a; 远程访问常用端口号&#xff1a;22 默认情况下是mysql使用的端口号&…...

C语言实现快速排序(hoare法、挖坑法、前后指针法与非递归实现)——不看后悔系列

目录 1. hoare法 方法与步骤 代码实现 2. 挖坑法 方法与步骤 代码实现 3. 前后指针法 方法与步骤 代码实现 4. 快速排序的缺点与优化 1.快速排序的缺点 2.快速排序的优化 ① 三数取中法选 key 代码实现 ② 小区间优化 代码实现 5. 快速排序的非递归实现 附录…...

如何为系统可靠性的量化提供依据

SLA 即 Service Level Agreement&#xff0c;也就是服务等级协议&#xff0c;它指的是系统服务提供者&#xff08;Provider&#xff09;对客户&#xff08;Customer&#xff09;的一个服务承诺。 而 SLO 就是 SLA 的具体目标管理办法&#xff0c;它由一系列相关的指标 SLI &am…...

量化投资中的因子是什么?因子是如何分类的,包括哪些?

因子就是对个股有解释的因素。因子的种类很多&#xff0c;不同类别的因子从不同的维度对个股收益进行解释。比如基本面因子的数据来源方面有很大一部分是财务报表&#xff0c;从估值、成长、盈利能力等多个方面对股票收益进行解释。量价因子是围绕价格、成交量等技术指标构建的…...

GICI:代码学习5

以下内容主要讲解 estimateFundamental() 和 estimateHomography() 的求解过程一、本质两个函数的本质都是在做相同的事情&#xff1a;输入两帧特征方向向量&#xff0c;输出相机的位姿 R&#xff0c;t.但是两个函数的路径不同。二、Homography &#xff1a;单应矩阵求解2.1 函…...

Unity Figma Bridge终极指南:3步实现设计到游戏的完美转换 [特殊字符]

Unity Figma Bridge终极指南&#xff1a;3步实现设计到游戏的完美转换 &#x1f680; 【免费下载链接】UnityFigmaBridge Easily bring your Figma Documents, Components, Assets and Prototypes to Unity 项目地址: https://gitcode.com/gh_mirrors/un/UnityFigmaBridge …...

Android开发者必看:火山引擎API验签实战,5步搞定接口适配

Android开发者实战指南&#xff1a;火山引擎API验签与接口适配全解析 在移动应用开发领域&#xff0c;直接调用第三方API服务已成为提升开发效率的常见做法。火山引擎作为国内领先的云服务平台&#xff0c;其丰富的API接口为Android应用开发提供了强大支持。然而&#xff0c;由…...

JD-GUI完整使用指南:免费Java反编译工具的5大核心功能解析

JD-GUI完整使用指南&#xff1a;免费Java反编译工具的5大核心功能解析 【免费下载链接】jd-gui A standalone Java Decompiler GUI 项目地址: https://gitcode.com/gh_mirrors/jd/jd-gui Java开发者在日常工作中经常会遇到需要分析第三方库、调试未知代码或学习优秀项目…...

智慧农业篇(一):一套大棚监控系统的架构与实战

2018年一个朋友找到我&#xff0c;想开发 一套完整的农业种植的智能控制监测系统&#xff0c;主要针对的是蔬菜大棚的智能控制&#xff1b;基本思路就是&#xff1a;给出一套让农民“坐在家里种地”的物联网方案。我们当时涉足智慧农业的初心就是&#xff1a;让数据替人跑腿&am…...

一体机-显控终端 国产化嵌入式处理板卡 产品规格说明书

一、产品概述MB-FT24A02是一款专为工业嵌入式、车载人机交互、国产化终端替代等场景设计的全国产化高性能处理板卡&#xff0c;采用紧凑型PCB设计&#xff0c;核心搭载飞腾FT-2000/4国产处理器&#xff0c;搭配飞腾X100专用国产桥片&#xff0c;构建全链路自主可控硬件平台&…...

Llama-3.2V-11B-cot保姆级教程:Streamlit界面按钮/状态/动效设计逻辑

Llama-3.2V-11B-cot保姆级教程&#xff1a;Streamlit界面按钮/状态/动效设计逻辑 1. 工具概览与核心价值 Llama-3.2V-11B-cot是基于Meta多模态大模型开发的高性能视觉推理工具&#xff0c;专为双卡4090环境优化。这个工具最大的特点是让复杂的多模态模型变得简单易用&#xf…...

VMware安装RHEL9连接Xshell与Linux基础命令vim练习

1、在VMware上创建虚拟机以及安装RHEL9操作系统&#xff0c;使用ssh进行远程连接2、文件管理命令练习: 1(1)在/opt目录下创建一个临时目录tmp;2(2)在临时目录下创建一个文件&#xff0c;文件名为a.txt;3、vi/vim练习:完成如下步骤(1&#xff09;应用vi命令在/tmp文件夹下创建文…...

归并排序:稳定排序的典范

归并排序&#xff1a;稳定排序的典范 算法原理 核心思路 归并排序是一种基于分治思想的稳定排序算法&#xff0c;其核心思想是&#xff1a; 分解&#xff1a;将数组分成两个子数组&#xff0c;递归地对两个子数组进行排序合并&#xff1a;将两个已排序的子数组合并成一个有序数…...

科学图表数值提取:用WebPlotDigitizer实现研究数据还原与学术图表解析

科学图表数值提取&#xff1a;用WebPlotDigitizer实现研究数据还原与学术图表解析 【免费下载链接】WebPlotDigitizer WebPlotDigitizer: 一个基于 Web 的工具&#xff0c;用于从图形图像中提取数值数据&#xff0c;支持 XY、极地、三角图和地图。 项目地址: https://gitcode…...