Qt获取控件位置,坐标总结

上面的mouseEvent.globalPos()和QCursor::pos()永远相同,都是全局坐标。
上面绿色按钮的当前坐标:ui.pushButton->pos() 、转换父窗口坐标后mapToParent()、转换成全局坐标后mapToGlobal();如果当前鼠标坐标摸到按钮,按钮上面的文字会发生变化,经过比较。确实得到:QCursor::pos() == ui.posBtn->mapFromGlobal(QCursor::pos());
代码如下,跟踪任何控件,记得设置跟踪轨迹为真setMouseTracking(true)
void TestWidget::mouseMoveEvent(QMouseEvent* event)
{
QPoint m = event->globalPos();
ui.lblMouseEventGlobalPos->setText(QString("(%1,%2)").arg(m.x()).arg(m.y()));
QPoint n = QCursor::pos();
ui.lblCursorPos->setText(QString("(%1,%2)").arg(n.x()).arg(n.y()));
QPoint k = ui.posBtn->pos();
QPoint h = ui.posBtn->mapToGlobal(ui.posBtn->pos());
QPoint i = ui.posBtn->mapToGlobal(ui.posBtn->pos()); ui.lblPushBttonPos->setText(QString("(%1,%2)").arg(k.x()).arg(k.y()));
ui.lblToParentPos->setText(QString("(%1,%2)").arg(h.x()).arg(h.y()));
ui.lblToGlobalPos->setText(QString("(%1,%2)").arg(i.x()).arg(i.y())); QRect widgetRect = ui.posBtn->geometry();
QPoint mousePos = ui.posBtn->mapFromGlobal(QCursor::pos());
if (widgetRect.contains(mousePos))
{
ui.posBtn->setText("摸到我了");
}
else
{
ui.posBtn->setText("....");
} }
1、QPoint QMouseEvent::pos()
Qt获取控件位置,坐标总结的更多相关文章
- js获取控件位置以及不同浏览器中的差别
js获取控件位置(坐标位置)在不同浏览器中的差别. //获取坐标位置 function getpos(e) { var t=e.offsetTop; var l=e.offsetLeft; var h ...
- js获取控件位置
//获取坐标位置 function getpos(e) { var t=e.offsetTop; var l=e.offsetLeft; var height=e.offsetHeight; whil ...
- swift 获取控件位置 大小
var SearchBtn = uibutton() SearchBtn.frame.origin.x //获取坐标x SearchBtn.frame.origin.Y // 获取坐标Y Sea ...
- javascript控制滚动条的位置,获取控件的位置
一.如下是定位鼠标在视窗中的位置,先定位视窗和页面直接的距离. function getMousePoint() { var point = {x:0,y:0}; // 如果浏览器支持 pageYOf ...
- android 获取屏幕宽高 和 获取控件坐标
一.获取屏幕宽高: (1). WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); int width ...
- Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发和掉头发的事 - 获取控件ID(超详解)
简介 在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!因为在不同的大小屏幕的手机上获 ...
- jQuery学习笔记(控件位置定位、尺寸大小的获取等)
想做一个幽灵按钮出来,效果大概如下图: 当点击按钮的时候,会有四根线条从四个方向飞入,经历从“无-有-无”的闪入过程. 那么我的设计想法是,先在HTML中定义一个按钮,然后在jQuery中设计按钮点击 ...
- [WPF]获取控件间的相对位置
原文:[WPF]获取控件间的相对位置 [WPF]获取控件间的相对位置 周银辉 我们知道WPF有着比较灵活的布局方式,关于某个控件的坐标,Canv ...
- mfc获取控件在对话框上的位置
CRect rect; GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标ScreenToClient(&rect);//转换为 ...
随机推荐
- CentOS 7下安装RabbitMQ
下载erlang:http://www.erlang.org/downloads ,otp_src_20.3.tar.gz 下载RabbitMQ: http://www.rabbitmq.com ,r ...
- 查看哪个用户、IP、什么时间登陆过服务器
2019-01-07 utmpdump /var/log/wtmp 或者 who /var/log/wtmp
- Universal-Image-Loader完全解析(下)
Universal-Image-Loader完全解析(下) 在这篇文章中,我会继续跟大家分享有关于Universal-Image-Loader框架的相关知识,这次主要分享的是框架中图片缓存方面的知识. ...
- (转)jieba中文分词的.NET版本:jieba.NET
简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以 ...
- ubuntu设置root权限默认密码
1.默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码2.终端会提示我们输入新的密码并确认,此时的密码就是root新密 ...
- Object的原型拷贝-create、assign、getPrototypeOf 方法的结合
一.实现原型拷贝 1.1.代码 tips:为了体现原型链,写了继承实现的代码,这部分可跳过- <script> /* 创建包含原型链的实验对象obj1-- start */ ...
- [Mysql 查询语句]——集合函数
count() 统计记录条数 select count(*) from student; +----------+ | count(*) | +----------+ | +----------+ s ...
- [转]ASP.NET web API 2 OData enhancements
本文转自:https://www.pluralsight.com/blog/tutorials/asp-net-web-api-2-odata-enhancements Along with the ...
- HtmlAnchor点击之后保持高亮
HtmlAnchor点击之后保持高亮,就是一个链接,在点击之后,还要保持高亮状态.应用在网站后台管理界面,左边菜单点击之后,菜单保持点击高亮状态.为了实现这个功能,确实花上Insus.NET不少时间. ...
- Node.js创建第一个应用
在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的: 引入 required 模块:我们可以使用 r ...