以下是一个使用PyQt5实现鼠标移动UI界面的示例代码:

from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QCursor
from PyQt5.QtCore import Qt

class MovableWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowFlags(Qt.FramelessWindowHint)
        self.setCursor(QCursor(Qt.SizeAllCursor))

    def mousePressEvent(self, event):
        if event.button() == Qt.LeftButton:
            self.offset = event.pos()

    def mouseMoveEvent(self, event):
        if event.buttons() == Qt.LeftButton:
            x = event.globalX()
            y = event.globalY()
            x_w = self.offset.x()
            y_w = self.offset.y()
            self.move(x - x_w, y - y_w)

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

该示例中,我们继承了QWidget类,并重写了mousePressEvent()和mouseMoveEvent()方法,实现了窗口的拖拽移动。我们还重写了构造函数__init__(),设置了窗口的标志位Qt.FramelessWindowHint,以隐藏窗口的标题栏和边框,使其看起来像是一个没有边框的窗口。最后,我们将光标设置为Qt.SizeAllCursor,以显示一个可拖动的光标

pyqt5如何写一个类实现鼠标移动ui界面

原文地址: https://www.cveoy.top/t/topic/evl6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录