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

Qt获取屏幕(桌面)的大小或分辨率

Qt提供QDesktopWidget和QScreen两个类获取屏幕大小。Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。Qt 6.0 及之后版本,QDesktopWidget 已从QtWidgets 模块中被彻底移除。

QDesktopWidget

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

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

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) 

    /*** 设置窗体初始化位置及尺寸。*/QScreen* screen = QApplication::primaryScreen();QRect rectangle = screen->geometry();int width = rectangle.width();int height = rectangle.height();setGeometry(width / 10, height / 10, width * 3 / 4, height * 4 / 5);

 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获取屏幕(桌面)的大小或分辨率

Qt提供QDesktopWidget和QScreen两个类获取屏幕大小。Qt5开始&#xff0c;QDesktopWidget官方不建议使用&#xff0c;改为QScreen。Qt 6.0 及之后版本&#xff0c;QDesktopWidget 已从QtWidgets 模块中被彻底移除。 QDesktopWidget QDesktopWidget 提供了详细的位置信息&#…...

第4讲:vue内置命令(文本插值,属性绑定,v-text,v-html)

MVVM 什么是MVVM&#xff1f; MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化&#xff0c;让我们将视图 UI 和业务逻辑分开。 View层&#xff1a; 视图层 在我们前端开发中&#xff0c;通常就是 DOM 层。 主要的作用是…...

vue实现自动生成路由,非手动创建,含避坑点

自动生成路由js文件&#xff1a;autoRouter.js let routeArr []; let baseUrl /components/settingManagement/; const content require.context(../components/settingManagement/, true, /\.vue$/); content.keys().forEach(e > {const path e.substring(e.indexOf(/…...

数据挖掘note(赵老师语录)

&#xff08;一&#xff09; 数据挖掘一般分为机器学习和统计学习&#xff0c;大数据学的课程一般是关于机器学习&#xff0c;我们学的浅&#xff0c;主要关于统计学习&#xff0c;示意图如下所示&#xff1a; 这是一个大数据时代&#xff0c;但是数据挖掘的利用率不足0.5%&am…...

秋招在线人才测评考什么内容?

又是一年招聘季&#xff0c;各大高校都会组织校园招聘&#xff0c;这次我们就来了解一下秋季校园招聘究竟考什么。近些年来校园秋招已经广泛采用在线测评&#xff0c;尤其各行业龙头大厂们&#xff0c;网申、在线测评、小组无领导讨论&#xff0c;一面二面......各类纷杂的面试…...

LeetCode算法二叉树—236. 二叉树的最近公共祖先

目录 236. 二叉树的最近公共祖先 代码&#xff1a; 运行结果&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足…...

Qt事件处理

1. 事件 众所周知Qt是一个基于C的框架&#xff0c;主要用来开发带窗口的应用程序&#xff08;不带窗口的也行&#xff0c;但不是主流&#xff09;。我们使用的基于窗口的应用程序都是基于事件&#xff0c;其目的主要是用来实现回调&#xff08;因为只有这样程序的效率才是最高…...

宝塔nginx搭建Ftp文件服务器

一&#xff1a;创建FTP 填入账号密码后&#xff0c;选择根目录&#xff0c;这个根目录就是nginx要代理的目录 二&#xff1a;配置nginx root的地址就是上面填的FTP根目录 三&#xff1a;http访问 服务器ip端口号加图片 例如我放了一个320.jp 我服务器ip是110.120.120.120 那…...

SAP和APS系统订单BOM核对(SAP配置BOM攻略九)

配置订单BOM因为要考虑历史ECN、特征语法、BOM语法&#xff0c;是最复杂的一个算法结果&#xff0c;为了摆脱这种被动的场景&#xff0c;博主开发了一个被动核对数据的程序来保障数据质量。 今天是APS系统上线的第三天&#xff0c;我们的核对程序在昨天上线&#xff0c;面对大量…...

ExcelServer EXCEL服务器使用- 用户、角色权限配置

Excel文件服务器搭建 搭建Excel服务器 1、登录 默认 用户名 Admin 密码 3 2、角色管理 添加修改角色 角色配置在 系统管理->角色.fexm文件夹下 可以像修改excel文件一样 修改角色 3、用户管理 添加修改用户 用户的修改在 系统管理->用户.fexm 可以像excel一样编辑用户…...

JOSEF约瑟 静态中间继电器JZY-402 JZJ-404 AC220V 触点形式两开两闭

系列型号&#xff1a; JZY(J)-400静态中间继电器 JZ-Y-401静态中间继电器JZ-Y-402静态中间继电器 JZ-Y-403静态中间继电器JZ-Y-404静态中间继电器 JZ-Y-405静态中间继电器JZ-Y-406静态中间继电器 JZ-Y-407静态中间继电器JZ-Y-408静态中间继电器 JZ-Y-409静态中间继电器JZ…...

C#并发编程的实现方式

一、多线程&#xff1a;是一种并发编程技术&#xff0c;它允许一个应用程序同时执行多个线程。每个线程都有自己的指令集和堆栈&#xff0c;可以在不同的CPU核心上并行运行&#xff0c;或者在一个CPU核心上通过时间片轮转的方式交替运行。多线程的主要优点是可以利用多核处理器…...

qemu源码下载和安装

1、QEMU源码下载 1、官网&#xff1a;https://www.qemu.org/&#xff1b; 2、在“Full of releases”中可以找到以往发布过的版本&#xff1b; 2、源码编译 # 配置命令&#xff0c;生成Makefile。其中--target-list指定编译哪些些架构对应的目录&#xff0c;默认是所有架构都编…...

计算机,软件工程,网络工程,大数据专业毕业设计选题有哪些(附源码获取)

计算机&#xff0c;软件工程&#xff0c;网络工程&#xff0c;大数据专业毕业设计选题有哪些?&#xff08;附源码获取&#xff09; ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于J…...

CyclicBarrier 、CountDownLatch 、Semaphore 的用法

1 CountDownLatch&#xff08;线程计数器 &#xff09; CountDownLatch类位于java.util.concurrent 包下&#xff0c;利用它可以实现类似计数器的功能。比如有一个任务 A&#xff0c;它要等待其他 4 个任务执行完毕之后才能执行&#xff0c;此时就可以利用 CountDownLatch 来实…...

RestTemplate发送HTTPS请求

RestTemplate发送HTTPS请求 基础知识&#xff1a; Https原理与工作流程及证书校验&#xff1a;https://www.cnblogs.com/zjdxr-up/p/14359904.html 忽略ssl证书的方式配置&#xff1a; import lombok.extern.slf4j.Slf4j;import org.springframework.http.client.SimpleClien…...

图像练习-矩形4点OpenCV(01)

提取出里面最大矩形的四个顶点坐标 源图像 结果展示 代码 void getLine(std::vector<int>& data, int threshold) {for (int x 0; x < data.size(); x){if (0 data[x]){continue;}int maxValue 0, maxLoc -1, i -1;for (i x; i < data.size(); i){if …...

不同层设置不同学习率

使用预训练模型时&#xff0c;可能需要将 &#xff08;1&#xff09;预训练好的 backbone 的 参数学习率设置为较小值&#xff0c; &#xff08;2&#xff09;而backbone 之外的部分&#xff0c;需要使用较大的学习率。 from collections import OrderedDict import torch.nn …...

剑指offer32Ⅰ:从上到下打印二叉树

题目描述 从上到下按层打印二叉树&#xff0c;同一层的节点按从左到右的顺序打印&#xff0c;每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果&#xff1a; [3,9,20,15,7] 提示&#xff1a; 节…...

【VUE复习·8】v-if;v-show高级

总览 1.v-if 与其变种 v-else-if&#xff1b;v-else 2.v-show 3.v-if 与 v-show 的区别和应用场景 一、v-if 这样用&#xff08;使用 data 或 函数 来驱动它&#xff09; 1.v-if v-if 的用法很简单&#xff0c;它判断的是后面语句的 boolean 值&#xff0c;用来控制 DOM 元…...

终极音乐解锁指南:3步免费解锁任何加密音乐文件

终极音乐解锁指南&#xff1a;3步免费解锁任何加密音乐文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https://git…...

5分钟快速上手Sonar CNES Report:让代码质量报告变得简单高效

5分钟快速上手Sonar CNES Report&#xff1a;让代码质量报告变得简单高效 【免费下载链接】sonar-cnes-report Generates analysis reports from SonarQube web API. 项目地址: https://gitcode.com/gh_mirrors/so/sonar-cnes-report 你是否经历过这样的场景&#xff1f…...

第八部分-企业级实践——36. CI/CD 集成

36. CI/CD 集成 1. CI/CD 概述 CI/CD&#xff08;持续集成/持续部署&#xff09;与 Docker 结合&#xff0c;可以实现代码提交后自动构建镜像、测试、部署的完整流程&#xff0c;大幅提升开发效率和发布质量。 ┌──────────────────────────────…...

构建可靠AI编码代理:OpenClaw-Build工作流详解与实战

1. 项目概述&#xff1a;一个能“闭环”的AI编码代理工作流如果你用过市面上那些号称能自动编程的AI代理&#xff0c;大概率经历过这样的挫败感&#xff1a;你满怀期待地丢给它一个需求&#xff0c;它吭哧吭哧干了两三个任务&#xff0c;然后要么开始“神游”&#xff0c;写出来…...

别再让数码管显示拖垮你的51单片机!频率计项目中CPU时间分配的优化实战

51单片机频率计项目中的CPU时间优化艺术&#xff1a;从阻塞式刷新到状态机重构 当你在深夜调试51单片机频率计项目时&#xff0c;是否经历过这样的绝望时刻——测量数据明明准确&#xff0c;但数码管显示却闪烁不定&#xff1b;或者当输入信号频率升高时&#xff0c;整个系统突…...

基于本地大模型与Playwright的隐私优先求职自动化助手RedClaw实践

1. 项目概述&#xff1a;一个真正为你掌控的本地化求职AI助手在求职季&#xff0c;我们常常面临一个两难困境&#xff1a;一方面&#xff0c;海投简历耗时耗力&#xff0c;重复填写那些大同小异的在线申请表让人筋疲力尽&#xff1b;另一方面&#xff0c;市面上一些所谓的“自动…...

AzurLaneAutoScript:基于图像识别与智能调度的碧蓝航线全自动脚本架构解析

AzurLaneAutoScript&#xff1a;基于图像识别与智能调度的碧蓝航线全自动脚本架构解析 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoSc…...

从FLAG_ONE_SHOT到FLAG_IMMUTABLE:深入解析Android S+版本PendingIntent的强制变革

1. 当PendingIntent遇上Android S&#xff1a;崩溃背后的安全升级 最近不少开发者在升级targetSdkVersion到31&#xff08;Android 12&#xff09;后&#xff0c;突然遭遇这样的崩溃提示&#xff1a;"Targeting S requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be…...

解锁网络音视频传输:DistroAV插件从零构建高效工作流

解锁网络音视频传输&#xff1a;DistroAV插件从零构建高效工作流 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi 在现代直播制作和视频协作场景中&#xff0c;跨设备高质…...

AI智能体安全防护:ClawGuard主动防御系统架构与实战部署

1. 项目概述&#xff1a;为AI智能体构建一道主动防御的“防火墙”在AI智能体&#xff08;AI Agent&#xff09;技术快速普及的今天&#xff0c;我们正面临一个全新的安全挑战。想象一下&#xff0c;你精心调教的AI助手&#xff0c;能够自主浏览网页、调用API、执行命令&#xf…...