QT中鼠标位置获取问题之event-globalPos()与pos()函数
生活随笔
收集整理的這篇文章主要介紹了
QT中鼠标位置获取问题之event-globalPos()与pos()函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QT中鼠標位置獲取問題之event->globalPos()與pos()函數
標簽: Qt 2015-01-03 19:41 820人閱讀 評論(0) 收藏 舉報 分類: Qt版權聲明:本文為博主原創文章,未經博主允許不得轉載。
最近在學習QT,準備做個界面程序,在獲取鼠標位置信息時,查了好多資料,對于event->globalPos()與pos()函數都說的不是很清楚。
通過程序測試,最后是搞清楚了,在這利用形象的圖解來代替文字向大家描述,更易理解些。
widget窗口是帶邊框的類型,如下圖1(上邊框和側邊框都是有厚度的)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖.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控件)位置時,要綜合考慮這些位置關系,并且考慮邊框的存在與否,當然有更好的獲取位置信息的方法,望指點。
總結
以上是生活随笔為你收集整理的QT中鼠标位置获取问题之event-globalPos()与pos()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统查看进程并杀掉,Linux
- 下一篇: android locknow,java