pyqt5 无边框窗口拖动

简介: pyqt5 无边框窗口拖动

隐藏边框

#隐藏边框
MainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint)
MainWindow.setAttribute(QtCore.Qt.WA_TranslucentBackground)

无边框窗口拖动

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
class Example(QWidget):
    _startPos = None
    _endPos = None
    _isTracking = False
    def __init__(self):
        super().__init__()
        self._initUI()
    def _initUI(self):
        self.setFixedSize(QSize(400, 400))
        self.setWindowFlags(Qt.FramelessWindowHint)  # 无边框
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
        self.show()
    def mouseMoveEvent(self, e: QMouseEvent):  # 重写移动事件
        self._endPos = e.pos() - self._startPos
        self.move(self.pos() + self._endPos)
    def mousePressEvent(self, e: QMouseEvent):
        if e.button() == Qt.LeftButton:
            self._isTracking = True
            self._startPos = QPoint(e.x(), e.y())
    def mouseReleaseEvent(self, e: QMouseEvent):
        if e.button() == Qt.LeftButton:
            self._isTracking = False
            self._startPos = None
            self._endPos = None
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
相关文章
|
1月前
pyqt5-基本窗口控件
pyqt5-基本窗口控件
28 0
|
7月前
|
存储 编解码 Cloud Native
C++ Qt关于多屏幕窗口处理
C++ Qt关于多屏幕窗口处理
|
22天前
|
存储
Qt无边框窗口可拖动
Qt无边框窗口可拖动
|
30天前
|
C++
【qt】QDockWidget 浮动窗口
【qt】QDockWidget 浮动窗口
20 0
Qt设置窗口可拖动
Qt设置窗口可拖动
178 0
C#创建无边框可拖动窗口
C#创建无边框可拖动窗口
177 0
|
C++
Qt界面优化:Qt去边框与窗体圆角化
Qt界面优化:Qt去边框与窗体圆角化
418 0
Qt界面优化:Qt去边框与窗体圆角化
Qt无边框窗口拖拽和阴影
无边框窗口的实现
390 0
Qt无边框窗口拖拽和阴影
【QT】QT不规则窗体效果——遮罩
【QT】QT不规则窗体效果——遮罩