Окно следует за указателем мыши
Можно ли как-то реализовать на Пайтоне, чтобы при нажатии и удерживании курсора на окне, оно двигалось за курсором?
Если да, то какие библиотеки для этого использовать?
Ответы (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_())
