pyqt5如何写一个类实现鼠标移动ui界面
以下是一个使用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,以显示一个可拖动的光标
原文地址: https://www.cveoy.top/t/topic/evl6 著作权归作者所有。请勿转载和采集!