PYQT5学习与开发

PYQT5(7)实现可以拖拽的窗体

2019-01-01  本文已影响261人  弗兰克万岁
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

    def mousePressEvent(self, event):
        if event.button() == Qt.Qt.LeftButton:
            self.m_flag = True
            self.m_Position = event.globalPos() - self.pos()  # 获取鼠标相对窗口的位置
            event.accept()
            self.setCursor(QCursor(Qt.Qt.OpenHandCursor))  # 更改鼠标图标

    def mouseMoveEvent(self, QMouseEvent):
        if Qt.Qt.LeftButton and self.m_flag:
            self.move(QMouseEvent.globalPos() - self.m_Position)  # 更改窗口位置
            QMouseEvent.accept()

    def mouseReleaseEvent(self, QMouseEvent):
        self.m_flag = False
        self.setCursor(QCursor(Qt.Qt.ArrowCursor))

无边框的效果可以查看我另一个教程
鼠标放上去就可以拖拽了,额,gif不会截,就放个预览把


图片.png
上一篇下一篇

猜你喜欢

热点阅读