Qt(Qt Framework)是一个流行的C++应用程序开发框架,提供了丰富的位置相关函数和类,用于处理窗口、窗口小部件和图形的位置和几何操作。以下是一些常用的Qt位置相关函数和类:

  1. QPoint:QPoint类表示一个二维点的坐标,通常用于描述窗口小部件的位置。它提供了方法来访问和修改x和y坐标。
  2. QPointF:类似于QPoint,但表示浮点数坐标的二维点。
  3. QSize:QSize类表示矩形区域的尺寸,通常用于指定窗口小部件的大小。它包括宽度和高度。
  4. QRect:QRect类表示一个矩形区域,通常用于定义窗口小部件或图形元素的位置和大小。它包括左上角的点和矩形的尺寸。
  5. QRectF:类似于QRect,但用于表示浮点数坐标的矩形。
  6. QWidget::pos():QWidget类的成员函数,返回小部件的当前位置(QPoint)。
  7. QWidget::setPos():QWidget类的成员函数,用于设置小部件的位置。
  8. QWidget::geometry():返回小部件的几何信息,包括位置和大小(QRect)。
  9. QWidget::setGeometry():用于设置小部件的几何信息,包括位置和大小。
  10. QCursor:QCursor类表示鼠标指针的形状和位置。它可以用于设置和获取鼠标光标的位置。
  11. QDesktopWidget:QDesktopWidget类提供了有关桌面的信息,包括屏幕的数量、大小和位置。可以使用它来进行多屏幕应用程序的开发。
  12. QScreen:QScreen类表示物理屏幕的信息,包括分辨率和物理尺寸。可以用于获取有关屏幕的信息。
  13. QWindow:QWindow类表示一个窗口,可以用于获取窗口的位置和几何信息。
  14. QMouseEvent:QMouseEvent类用于表示鼠标事件,包括鼠标的位置信息。
  15. QHoverEvent:QHoverEvent类用于表示鼠标悬停事件,包括鼠标的位置信息。

QPoint 和 QPointF:

QPoint point(100, 50); // 创建一个二维点,表示(x, y)坐标QPointF pointF(3.14, 2.71); // 创建一个浮点数坐标的二维点

QSize:

QSize size(200, 100); // 创建一个矩形尺寸,表示宽度和高度

QRect 和 QRectF:

QRect rect(50, 50, 200, 100); // 创建一个矩形,指定左上角坐标和尺寸QRectF rectF(0.0, 0.0, 10.5, 7.2); // 创建一个浮点数坐标的矩形

QWidget::pos() 和 QWidget::setPos():

QWidget widget;QPoint currentPosition = widget.pos(); // 获取小部件的当前位置widget.move(150, 100); // 移动小部件到新的位置

QWidget::geometry() 和 QWidget::setGeometry():

QWidget widget;QRect currentGeometry = widget.geometry(); // 获取小部件的当前几何信息widget.setGeometry(100, 100, 300, 200); // 设置小部件的位置和大小

QCursor:

QCursor cursor;QPoint cursorPos = cursor.pos(); // 获取鼠标光标的当前位置cursor.setPos(200, 150); // 设置鼠标光标的位置

QDesktopWidget:

QDesktopWidget *desktop = QApplication::desktop();int numberOfScreens = desktop->screenCount(); // 获取屏幕数量QRect screenGeometry = desktop->screenGeometry(0); // 获取第一个屏幕的几何信息

QScreen:

QScreen *screen = QGuiApplication::primaryScreen();QSize screenSize = screen->size(); // 获取屏幕的大小

QWindow:

QWindow window;QPoint windowPosition = window.position(); // 获取窗口的位置

QMouseEvent:

void MyWidget::mousePressEvent(QMouseEvent *event) {QPoint mousePos = event->pos(); // 获取鼠标点击事件的位置}

QHoverEvent:

void MyWidget::hoverEnterEvent(QHoverEvent *event) {QPoint hoverPos = event->pos(); // 获取鼠标悬停事件的位置}