1. 程式人生 > >qt中關於座標的說明

qt中關於座標的說明

qt中有兩類座標系統,一類是視窗座標,一類是顯示器座標(全域性座標)。

QPoint QMouseEvent::pos() :返回相對這個widget的位置

QPoint QMouseEvent::globalPos() :視窗座標,這個是返回滑鼠的全域性座標

QPoint QWidget::pos() :這個屬性獲得的是當前目前控制元件在父視窗中的位置

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座標。

QPoint QCursor::pos() :   返回相對顯示器的全域性座標 

QRect QWidget::geometry():返回的是相對於父視窗的座標

QRect QWidget::setGeometry(ax,ay,aw,ah):前兩個引數是視窗座標,後兩個是寬度和高度

void QWidget::move(ax,ay)::設定的是全域性座標

cursor().pos() 這個返回的是全域性的座標

注意:當前視窗如果為頂級視窗的話,則geometry和setGeometry的視窗座標即為全域性座標,setGeometry不能再有佈局器下使用!