首先,关闭qt designer默认的工具栏。
self.setWindowFlag(Qt.FramelessWindowHint)
然后给相关按钮添加clicked事件,完成最小化以及最大化功能。
最小化:
self.pushButton.clicked.connect(self.showMinimized)
关闭:
self.pushButton.clicked.connect(QCoreApplication.instance().quit)
实现任意拖拽功能:
def mousePressEvent(self, QMouseEvent):
if QMouseEvent.button() == Qt.LeftButton:
self.flag = True
# 获取鼠标相对窗口的位置
self.m_Position = QMouseEvent.globalPos() - self.pos()
QMouseEvent.accept()
# 更改鼠标图标
self.setCursor(QCursor(Qt.OpenHandCursor))
def mouseMoveEvent(self, QMouseEvent):
if Qt.LeftButton and self.flag:
# 更改窗口位置
self.move(QMouseEvent.globalPos()-self.m_Position)
QMouseEvent.accept()
def mouseReleaseEvent(self, QMouseEvent):
self.flag = False
self.setCursor(QCursor(Qt.ArrowCursor))