Ich bin neu in PyQt und ich versuche, es zu verwenden, um ein Widget zu erstellen, das die Position der Maus in Echtzeit zurückgibt.Wie können Mauskoordinaten in Echtzeit zurückgegeben werden?
Hier ist, was ich habe:
import sys
from PyQt5.QtWidgets import (QWidget, QToolTip,
QPushButton, QApplication)
from PyQt5.QtGui import QFont
class MouseTracker(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.setMouseTracking(True)
self.installEventFilter(self)
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Mouse Tracker')
self.show()
def eventFilter(self, source, event):
if (event.type() == QtCore.QEvent.MouseMove and
event.buttons() == QtCore.Qt.NoButton):
pos = event.pos()
print('Mouse coords: (%d : %d)' % (pos.x(), pos.y()))
return QtGui.QWidget.eventFilter(self, source, event)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MouseTracker()
sys.exit(app.exec_())
Ich bin verwirrt, wie diese Arbeit zu machen. Ich habe die Mausverfolgung auf True gesetzt, bin mir aber nicht sicher, wie ich den Ereignisfilter anwenden soll. Irgendeine Hilfe?