pyqt5_控件_自定義無邊框窗體拖動
阿新 • • 發佈:2018-02-07
spa 窗體拖動 ica 定義 event sta track gets button
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_())
pyqt5_控件_自定義無邊框窗體拖動