PyQt5 Установить курсор - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь установить курсор в точку (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_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...