pyqt5 鼠标移动窗口
时间: 2024-04-15 17:23:22 浏览: 28
在PyQt5中,可以通过鼠标移动窗口来实现拖动窗口的功能。以下是实现这一功能的步骤:
1. 导入必要的模块:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import Qt
```
2. 创建一个继承自QWidget的窗口类:
```python
class MyWindow(QWidget):
def __init__(self):
super().__init__()
```
3. 重写窗口的鼠标按下、鼠标移动和鼠标释放事件:
```python
def mousePressEvent(self, event):
self.oldPos = event.globalPos()
def mouseMoveEvent(self, event):
delta = event.globalPos() - self.oldPos
self.move(self.x() + delta.x(), self.y() + delta.y())
self.oldPos = event.globalPos()
def mouseReleaseEvent(self, event):
pass
```
在鼠标按下事件中,记录下当前鼠标的位置。在鼠标移动事件中,计算鼠标移动的距离,并将窗口移动相应的距离。在鼠标释放事件中,不做任何处理。
4. 创建应用程序对象并显示窗口:
```python
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
这样,当你按住窗口的标题栏拖动时,窗口会跟随鼠标移动。