Я использую PyQt5 для создания приложения. Приложение имеет MainWindow с несколькими виджетами. Один из виджетов — это объект QLabel, который отображает видео. Я хочу отслеживать курсор и отображать координаты курсора при наведении курсора на видео, когда я проверяю переключатель.
Я создал класс MouseTracking, в который я передаю объект QLabel как window
. Я проверил, что объект передан в класс, распечатав его геометрию. Но я почему-то не связываю отслеживание мыши с window
. Вот код класса MouseTracking. Что я делаю неправильно?
class MouseTracker(QLabel):
def __init__(self, window):
super().__init__(window)
self.window = window
self.window.setMouseTracking(True)
self.initUI()
def initUI(self):
self.label = QLabel(self)
self.label.setAlignment(Qt.AlignCenter)
self.label.setStyleSheet('background-color: white; border: 1px solid black')
self.show()
def mouseMoveEvent(self, event):
x = event.x()
y = event.y()
print("X, Y = ", x, y)
self.label.setGeometry(x+30, y-15, 90, 40)
self.label.setText('(%d, %d)' % (x, y))