Нужно написать программу на PyQt, чтобы при наведении курсора на кнопку, она исчезала и появлялась в другом случайном месте. В событие mouseMoveEvent есть if конструкция, которая происходит только при зажатой кнопки на мышке, хотя отслеживание мышки включено. В чем проблема? Почему при просто наведении, без зажатой кнопки, if конструкция не происходит?
import sys
from random import randrange
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(300, 300, 600, 600)
self.btn = QPushButton(self)
self.btn.setText('Нажми меня')
self.btn.resize(100, 50)
self.btn.move(250, 250)
self.btn_x = 250
self.btn_y = 250
self.setMouseTracking(True)
def mouseMoveEvent(self, event):
if self.btn_x < event.x() < self.btn_x + 100 and self.btn_y < event.y() < self.btn_y + 50:
self.btn_x, self.btn_y = randrange(500), randrange(500)
self.btn.move(self.btn_x, self.btn_y)
if __name__ == '__main__':
app = QApplication(sys.argv)
wnd = Window()
wnd.show()
app.exit(app.exec())