Я пытаюсь установить курсор в точку (0,0), когда он достигнет предела разрешения. Например, когда x = 1919 для разрешения 1080p, курсор должен go вернуться в точку x = 0. Если он многократно достигает пределов, он должен добавить значения x для общего расстояния x. Моя цель - рассчитать общее движение мыши. Измеряя реальное перемещение мыши, я найду постоянное значение для умножения результата. в приведенном ниже коде на мониторе 2k 27 дюймов я нашел константу для измерения смещения курсора в см. Я также могу найти константу для перемещения мыши, но когда курсор достигает предела, мышь перемещается примерно на 5 или 6 см. Надеюсь, я смогу объяснить себя.
import sys
from PyQt5.QtWidgets import (QApplication, QLabel, QWidget)
from PyQt5.QtGui import QPainter, QColor, QPen
from PyQt5.QtCore import Qt
class MouseTracker(QWidget):
distance_from_center = 0
def __init__(self):
super().__init__()
self.initUI()
self.setMouseTracking(True)
def initUI(self):
self.setGeometry(200, 200, 1000, 500)
self.setWindowTitle('Mouse Tracker')
self.label = QLabel(self)
self.label.resize(500, 40)
self.show()
self.pos = None
def mouseMoveEvent(self, event):
distance_from_center = ((((event.y() - 300)**2 + (event.x() )**2)**0.5) * 0.02351700573)
self.label.setText('Coordinates: ( %d : %d )' % (event.x(), event.y()) + "Distance from center: " + str(distance_from_center))
self.pos = event.pos()
self.update()
app = QApplication(sys.argv)
ex = MouseTracker()
sys.exit(app.exec_())