Окно следует за указателем мыши

Можно ли как-то реализовать на Пайтоне, чтобы при нажатии и удерживании курсора на окне, оно двигалось за курсором?

Если да, то какие библиотеки для этого использовать?


Ответы (1 шт):

Автор решения: S. Nick

Как вариант:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout
from PyQt5.QtCore import QPoint


class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.layout = QVBoxLayout(self)
        # ...
        
# !!! vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    def mousePressEvent(self, event):
        self.oldPos = event.globalPos()

    def mouseMoveEvent(self, event):
       delta = QPoint(event.globalPos() - self.oldPos)
       self.move(self.x() + delta.x(), self.y() + delta.y())
       self.oldPos = event.globalPos()
# !!! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MyApp()
    w.resize(400, 300)
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка