QT5 获取窗口、系统屏幕大小尺寸信息,Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标

一、QT5 获取窗口大小尺寸信息
QT窗口尺寸,窗口大小和大小改变引起的事件 QResizeEvent。
在这里插入图片描述
在这里插入图片描述

    //窗口左上角的位置(含边框)qDebug() << this->frameGeometry().x() << this->frameGeometry().y() << ;//1qDebug() << this->x()  << this->y();//2qDebug() << this->pos().x() << this->pos().y();//3//窗口的宽度和高度(含边框)qDebug() << this->frameGeometry().width() << this->frameGeometry().height();//窗口左上角的位置(不含边框)qDebug() << this->geometry().x() << this->geometry().y();//窗口的宽度和高度(不含边框)qDebug() << this->geometry().width() << this->geometry().height();//1qDebug() << this->width() << this->height();//2qDebug() << this->rect().width() << this->rect().height();//3qDebug() << this->size().width() << this->size().height();//4

二、QT获取系统屏幕大小
QDesktopWidget 提供了详细的位置信息,其能够自动返回窗口在用户窗口的位置和应用程序窗口的位置,

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

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

#include<QScreen>
#include<QRect>QList<QScreen *> list_screen =  QGuiApplication::screens();  //多显示器
QRect rect = list_screen.at(0)->geometry();
desktop_width = rect.width();
desktop_height = rect.height();
qDebug() << desktop_width <<desktop_height;

三、设置窗体大小

void setGeometry(int x, int y, int w, int h)void setGeometry(const QRect &)void resize(int w, int h)void resize(const QSize &)

四、Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标

QPoint QMouseEvent::pos()

这个只是返回相对这个widget(重载了QMouseEvent的widget)的位置。

QPoint QMouseEvent::globalPos()

窗口坐标,这个是返回鼠标的全局坐标

QPoint QCursor::pos() [static]

返回相对显示器的全局坐标

QPoint QWidget::mapToGlobal(const QPoint & pos)  const

将窗口坐标转换成显示器坐标

QPoint QWidget::mapFromGlobal(const QPoint & pos) const

将显示器坐标转换成窗口坐标

QPoint QWidget::mapToParent(const QPoint & pos) const

将窗口坐标获得的pos转换成父类widget的坐标

QPoint QWidget::mapFromParent(const QPoint & pos) const

将父类窗口坐标转换成当前窗口坐标

QPoint QWidget::mapTo(const QWidget * parent, const QPoint &pos) const

将当前窗口坐标转换成指定parent坐标。

QWidget::pos() : QPoint

这个属性获得的是当前目前控件在父窗口中的位置,

const QPointF &QMouseEvent::screenPos() const

Returns the position of the mouse cursor asa QPointF, relative to the screen that received the event.
和QPoint QMouseEvent::globalPos() 值相同,但是类型更高精度的QPointF
This function was introduced in Qt 5.0.

QCursor::pos() == QMouseEvent::globalPos() 

获取全局坐标

QMouseEvent::globalPos() == ui.posBtn->mapToGlobal(ui.posBtn->pos());

将鼠标的坐标转换成全局坐标。

ui.posBtn->mapFromGlobal(QCursor::pos());

将全局坐标(鼠标当前坐标,QCursor::pos())直接转换成当前窗口相对坐标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nutch,hbase,zookeeper兼容性问题

nutch-2.1使用gora-0.2.1&#xff0c; gora-0.2.1使用hbase-0.90.4&#xff0c;hbase-0.90.4和hadoop-1.1.1不兼容&#xff0c;hbase-0.94.4和gora-0.2.1不兼容&#xff0c;hbase-0.92.2没问题。 由川哥的博客的这段话可以知道&#xff0c;nutch-2.1 hadoop 1.1.1 hbase-0.92.…

视频人脸检测——OpenCV版(三)

视频人脸检测是图片人脸检测的高级版本&#xff0c;图片检测详情点击查看我的上一篇《图片人脸检测——OpenCV版&#xff08;二&#xff09;》 实现思路&#xff1a; 调用电脑的摄像头&#xff0c;把摄像的信息逐帧分解成图片&#xff0c;基于图片检测标识出人脸的位置&#x…

JENKINS使用DOCKER运行PYTEST并且出ALLURE报告

背景 最近想做一个简单的pytest 测试&#xff0c;用allure出报告&#xff0c;结果发现网上的方法都是在windows上装jenkins,然后用jenkins跑一个本地的运行环境。这种做法明显很不2019年。于是我决定做一个在jenkins上使用docker运行pytest&#xff0c;然后再出allure报告的文…

配置设备作为DHCP 服务器(基于接口地址池)

DHCP 服务器简介: 通常用户希望网络中的每台终端能够动态获取IP地址、DNS服务器的IP地址、路由信 息、网关信息等网络参数,不需要手动配置终端的IP地址等网络参数;另外,针对一 些移动终端(手机、ipad、办公笔记本等)希望能够即插即用,不需要每次修改终端 的IP等网络参数…

zabbix企业应用之low level discovery监控mysql

之前介绍了使用zabbix监控固定3306端口的mysql&#xff08;文章地址为http://dl528888.blog.51cto.com/2382721/1346590&#xff09;&#xff0c;有个不好的地方是只能监控固定的3306端口&#xff0c;如果是非3306端口的话&#xff0c;需要修改模板&#xff0c;如果主机有多个m…

图片人脸检测——Dlib版(四)

上几篇给大家讲了OpenCV的图片人脸检测&#xff0c;而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。 往期目录 视频人脸检测——Dlib版&#xff08;六&#xff09;OpenCV添加中文&#xff08;五&#xff09;图片人脸检测——Dlib版&#xff08;四&#xff09;视频…

配置设备作为DHCP 服务器(基于全局地址池)

DHCP 服务器简介: 通常用户希望网络中的每台终端能够动态获取IP地址、DNS服务器的IP地址、路由信 息、网关信息等网络参数,不需要手动配置终端的IP地址等网络参数;另外,针对一 些移动终端(手机、ipad、办公笔记本等)希望能够即插即用,不需要每次修改终端 的IP等网络参数…

kubernetes 实战 使用 nfs 作为动态 storageClass 存储

kubernetes 实战 使用 nfs 作为动态 storageClass 存储 概述 之前有介绍过 Kubernetes 实战 pv and pvc&#xff0c; 相信使用过的pv和pvc的同学或者有过虚拟化经验的人来说肯定会想到很多问题&#xff0c;比如每次申请 pvc 都需要手动添加pv&#xff0c;这岂不是太不方便了。那…

OpenCV环境搭建(一)

OpenCV环境搭建 环境搭建为OpenCV的python&#xff08;一下简称py&#xff09;开发环境搭建&#xff0c;建立在py3的环境和语法上实现的。 windows系统搭建 系统环境&#xff1a;windows 10 python 3.6 OpenCV 3.4.1 一、安装python python的安装之前在python自学笔记的项…

判断一组数字中

public class sushu{public static void main (String args []){//定义i数字范围为100-200&#xff1b;for (int i 100 ; i < 200; i){//定义一个变量bboolean b false;//定义j大于等于2&#xff0c;循环取余数&#xff0c;判断如果K等于0则除尽&#xff0c;此数不为素数f…

git+pylint实现python提交代码格式校验

环境&#xff1a;win10(64)&#xff0c;python3.7.1&#xff0c;git2.7.2&#xff0c;pylint-2.3.1&#xff0c;git_pylint_commit_hook-2.5.1 以上为当期搭建所用到的版本&#xff0c;有异常时方便查找问题。 安装pylint&#xff0c;pylint是一个单独可以对python文件进行格…

OpenCV添加中文(五)

OpenCV添加文字的方法putText(…)&#xff0c;添加英文是没有问题的&#xff0c;但如果你要添加中文就会出现“&#xff1f;&#xff1f;&#xff1f;”的乱码&#xff0c;需要特殊处理一下。 下文提供封装好的&#xff08;代码&#xff09;方法&#xff0c;供OpenCV添加中文使…

UpdatePanel的内容中出现自定义多语言运行异常

2019独角兽企业重金招聘Python工程师标准>>> 我们项目有双语要求&#xff0c;采用的是自定义符号控制。在页面加载时进行翻译。 在xml文件中有如下格式的配置 <items> <resource page"~/SalesAppeal/SalesAppealCO.aspx"> <item key"…

ELK开机自启动脚本

elasticsearch服务配置文件 cd /etc/init.dtouch elasticsearchchmod x elasticsearchvi elasticsearch并输入以下内容: #!bin/bash# chkconfig: 2345 21 89 # description: elasticsearch# JAVA_HOME/usr/lib/jvm/jdk1.8.0_91 ES_HOME/usr/local/elasticsearch-6.7.2 case…

QT5获取QPlainTextEdit 某行内容

#include <QTextBlock> #include <QMessageBox>QString str;//获取总行数 str QString::number(ui->plainTextEdit->document()->lineCount()); QMessageBox::information(this, "information", str);//输出某行内容 str ui->plainTextEdi…

pip/pip3更换国内源

pip/pip3更换国内源 用途&#xff1a;pip更换为国内源&#xff0c;可以大大的提高安装成功率和速度。 Windows更换pip/pip3源 打开目录&#xff1a;%appdata%新增pip文件夹&#xff0c;新建pip.ini文件给pip.ini添加内容 [global] timeout 6000 index-url https://pypi.t…

使用Bazel编译报错ERROR: Unrecognized option: --experimental_repo_remote_exec解决方法

ERROR: Unrecognized option: --experimental_repo_remote_exec 一、问题&#xff1a; INFO: Options provided by the client:Inherited common options: --isatty1 --terminal_columns80 INFO: Reading rc options for version from /home/emadboctor/tensorflow/.bazelrc:I…

QT5获取CPU编号和硬盘序列号

windows下执行命令除了用cmd之外&#xff0c;还有个东西叫WMIC&#xff0c;非常强大&#xff0c;可以通过他获取很多信息&#xff0c;包括硬件信息。 #include <QProcess>QString frmMain::getWMIC(const QString &cmd) {//获取cpu名称&#xff1a;wmic cpu get Nam…

视频人脸检测——Dlib版(六)

往期目录 视频人脸检测——Dlib版&#xff08;六&#xff09; OpenCV添加中文&#xff08;五&#xff09; 图片人脸检测——Dlib版&#xff08;四&#xff09; 视频人脸检测——OpenCV版&#xff08;三&#xff09; 图片人脸检测——OpenCV版&#xff08;二&#xff09; …

解决 wamp网站访问慢的问题

最近使用wamp进行调试。 一个简单页面发现wamp的响应达10s。 经过研究发现&#xff0c;是wamp的sql部分拖慢了访问速度&#xff0c;追深后发现是&#xff0c;mysql进行了dns解析而导致反问速度超慢的情况&#xff1b; 所以给mysql 减减压吧&#xff1a; my.ini(Linux下为 my.co…