PyQt5手写界面(边框圆角、阴影、样式、拖动等)

1. 布局

必须是一个Widget对应一个Layout, MainWindow中初始化一个QWidget赋予变量名MainWidget。
然后给这个QWidget设置Layout,Layout有很多种,随便选一种,然后就是往Layout中添加普通的Widget了。

2. 去除原生标题栏

self.setWindowFlag(Qt.FramelessWindowHint)

3. 界面拖动

去除标题栏之后想让界面可以通过鼠标拖动需要监听鼠标点击及拖动事件。

     def mousePressEvent(self, e):

        if e.button() == Qt.LeftButton:

            self.m_drag = True

            self.m_DragPosition = e.globalPos() - self.pos()

            e.accept()

    def mouseReleaseEvent(self, e):

        if e.button() == Qt.LeftButton:

            self.m_drag = False

    def mouseMoveEvent(self, e):

        if Qt.LeftButton and self.m_drag:

            self.move(e.globalPos() - self.m_DragPosition)

            e.accept()

    ```

你可能感兴趣的:(PyQt5手写界面(边框圆角、阴影、样式、拖动等))