首页 > 其他分享 >Qt - 获得当前窗口所在屏幕的大小

Qt - 获得当前窗口所在屏幕的大小

时间:2023-11-02 19:24:39浏览次数:39  
标签:窗口 Qt QDesktopWidget screenGeometry 屏幕 include

qt获得当前窗口所在屏幕的大小

 

假如这个窗口的指针为this,记得要加头文件哦

#include <QDesktopWidget>
#include <QApplication>

//获得当前屏幕是第几屏幕
int number = QApplication::desktop()->screenNumber(this);
//如果number是-1会出现崩溃,就是用默认0
if(number<0){
number=0;
}
//根据number获得当前窗口所在屏幕的大小
QSize size = QGuiApplication::screens().at(number)->geometry().size()

 

Qt中,QDesktopWidget封装了一系列用于多屏处理的函数,头文件:#include <QDesktopWidget>

1、使用QDesktopWidget::screenCount()获取当前操作系统的可用屏幕数

2、使用QDesktopWidget::primaryScreen()获取主屏幕的索引

3、使用QDesktopWidget::availableGeometry()获取可用屏幕大小的矩形

4、使用QDesktopWidget::screenGeometry(int screen = -1)获取指定索引下的屏幕。主屏幕的索引一般为0,这样我们就可以通过这个函数判断鼠标在哪个屏幕了,如,判断鼠标是否在主屏幕内:
if(QDesktopWidget::screenGeometry(0).contains(event->globalPos())//event为鼠标事件

5、使用setGeometry设置UI所在屏幕:
this->setGeometry(QDesktopWidget::screenGeometry(0));//设置UI到第一个屏幕
Tips:使用QApplication::activeWindow()可以获取拥有键盘输入焦点的应用程序顶级窗口

 

标签:窗口,Qt,QDesktopWidget,screenGeometry,屏幕,include
From: https://www.cnblogs.com/zhuchunlin/p/17806079.html

相关文章

  • 技术教程 | 基于 Web 端的屏幕共享实践
    ​ 屏幕共享的英文叫做DesktopSharing,通俗点讲就是将自己电脑的画面分享给其他人,被分享的可以是整个电脑屏幕、应用程序或者某一个打开的网页等等。而随着音视频领域的深入发展,完备的功能在用户需求激增的背景下催生,不管是是在学习、生活或是娱乐场景下,屏幕共享作为实现互动......
  • qt按键图标大小和设置大小不符的问题记录
    问题描述:在导航栏中有几个toolbuttoon,ui文件设置的控件大小相同但图标大小不同问题解决:经过排查,图片和ui文件没有问题,最后发现qss样式中border-image,background-image和image对于相同图标会显示出不同大小。#background-image只根据图片资源的大小,不按照控件的大小,相对于控......
  • 76.最小覆盖子串(滑动窗口版)
    给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。 注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。 ......
  • 第 365 场周赛 (依赖树, 环形滑动窗口,内向基环树)
    本题可以发现一些枚举的技巧,在枚举多个值的时候,自己有时候脑袋晕晕的,会把变量的更新顺序搞混,此时,可以用依赖树来解决。如同本题:classSolution:defmaximumTripletValue(self,nums:List[int])->int:res=pre_max=pre_dif=0forxinnums:......
  • 使用 CKEditor 上传图片, 粘贴屏幕截图
    之前写过wangEditor,那真是好用,文档也清晰,半天就搞定了,无奈没有对应license,只好选择别的。外语一般,阅读理解都靠蒙。CKEditor官方文档看的我云里雾里,国内的博客比较少,经过一天的调试,终于成功了。记录下,欢迎交流。1.下载CKEditor包。 打开samples文件夹下的index.html,确......
  • ubuntu dwm 显示管理器 DM ,窗口管理器 WM, 桌面环境 DE , 的一些理解。
    我觉得要理解linux的桌面系统,必须要借助 archlinux 一些个基本的概念       来看一些具体的例子。       一些常用的窗口管理器WM比如: i3 dwm等。还有窗口合成器 ......
  • Qt 中的正则表达式
    Qt中的正则表达式常用QRegExp类一、正则表达式的常用匹配符^test:匹配字符的开始[^test]:表示除t,e,s,t以外的字符$:表示匹配字符串的结束[0-9]:表示0到9之间的数字*:表示匹配前面的字符0次或多次,如a*表示匹配0次或多次a字符,[0-9]*表示匹配数字0次或多次+:匹配前面的......
  • Qt获取电脑有几个网卡,并获取对应的IPV4
    标题:Qt获取电脑网卡对应的ip|Qt计算电脑有几个网卡|Qt获取网卡ip信息|Qt判断获取到的ip是否是IPV4 demo流程:1.点击搜索网卡按钮,搜索电脑所有的网卡,将网卡名称添加到QComBoBox下拉框中2.切换下拉框,点击获取IP按钮,查询出选择的网卡的对应ip(IPV4)  //x.h#include......
  • Qt通过UDP发送广播
      //x.hQUdpSocket*udp=nullptr;//UDP对象voidcreateUdpAndSendData();//创建UDP对象和发送广播数据voiddropUdp();//释放UDP对象voidreadData();//用来接收其他设备发送的数据voidcreateUdpAndSendData(){......
  • iOS 屏幕旋转的实践解析
    摘要:如何更灵活便捷的实现自定义屏幕旋转场景,本文带你揭秘!文|即构iOS应用开发团队 屏幕旋转是在视频直播类APP中常见的场景,在即构科技之前发布的RoomkitSDK中也有屏幕跟随手机自动旋转的场景。在RoomkitSDK自身开发和客户接入的过程中我们也会发现,实现屏幕旋转的需求往往......