zoukankan      html  css  js  c++  java
  • pyqt5无边框拖动

    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.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_())

     

    self.setWindowFlag(QtCore.Qt.FramelessWindowHint)  # 隐藏边框

    self.setAttribute(QtCore.Qt.WA_TranslucentBackground)#透明

     

  • 相关阅读:
    转-文件批量重命名
    解决死锁之路(终结篇)
    Python批量修改文件名
    Android AudioTrack分析
    Android Audio介绍
    Android GNSS介绍
    Android HIDL介绍
    【vue】类和内联样式绑定
    【vue】计算属性
    svn post-commit不能同步
  • 原文地址:https://www.cnblogs.com/jieliu8080/p/10536973.html
Copyright © 2011-2022 走看看