博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT中鼠标位置获取问题之event->globalPos()与pos()函数
阅读量:4159 次
发布时间:2019-05-26

本文共 466 字,大约阅读时间需要 1 分钟。

最近在学习QT,准备做个界面程序,在获取鼠标位置信息时,查了好多资料,对于event->globalPos()与pos()函数都说的不是很清楚。

通过程序测试,最后是搞清楚了,在这利用形象的图解来代替文字向大家描述,更易理解些。

widget窗口是带边框的类型,如下图1(上边框和侧边框都是有厚度的)

                             

1.而由event->globalPos()获取的鼠标位置是鼠标偏离电脑屏幕左上角(x=0,y=0)的位置;

2.由pos()获取的位置是主窗口(widget窗口)左上角(边框的左上角,外左上角)相对于电脑屏幕的左上角的(x=0,y=0)偏移位置

3.子窗口的位置属性,label->setGeometry(QRect(x,y,w,h));

其中x,y如图所示,是子窗口label左上角相对于主窗口widget窗口的左上角(除去去边框,内左上角)的偏移位置;如下图2所示,各位置信息。

                                     图.2

在计算鼠标相对于子窗口(label控件)位置时,要综合考虑这些位置关系,并且考虑边框的存在与否,当然有更好的获取位置信息的方法,望指点。

 

你可能感兴趣的文章
2012年十大科技趋势:Siri将震惊世界
查看>>
2017(第十届)中国绿公司年会马云演讲
查看>>
李彦宏:睡不着觉不是因对手
查看>>
从手Q与微信之争,看腾讯内在的真实矛盾与战略
查看>>
移动互联网的七宗败案
查看>>
互联网十大失败案
查看>>
小米颓势已现,生死劫命悬手机
查看>>
三大隐忧 三星未来路在何方?
查看>>
linux下各种进制转化最简单的的命令行
查看>>
结构体和联合体
查看>>
ACM(Association for Computing Machinery )组织的详细介绍
查看>>
unix高级编程之-命令行参数(实践一)
查看>>
无线网络加密方式对比 .
查看>>
linux中cat命令使用详解
查看>>
Static 作用详述
查看>>
透析ICMP协议(三): 牛刀初试之一 应用篇ping(ICMP.dll)
查看>>
透析ICMP协议(四): 牛刀初试之二 应用篇ping(RAW Socket)
查看>>
再次写给我们这些浮躁的程序员
查看>>
Linux下重要日志文件及查看方式(1)
查看>>
Linux下重要日志文件及查看方式(2)
查看>>