self.maximized = False # 初始状态,窗口没有被最大化
self.last_x, self.last_y = 0, 0 # 最后一次记忆的窗口位置
self.nol_width, self.nol_height = self.size().width(), self.size().height() # 正常大小
self.pushButton_2.clicked.connect(self.on_max_btn_clicked) # 按钮
@pyqtSlot()
def on_max_btn_clicked(self):
# 最大化与复原窗口
desktop = QApplication.desktop()
screen_number = desktop.screenNumber(QCursor.pos())
screen_size = desktop.screenGeometry(screen_number)
screen_width, screen_height = screen_size.width(), screen_size.height()
self.max_restore(x=screen_width, y=screen_height)
def max_restore(self, x, y):
if self.maximized: # 如果当前是最大化状态,则恢复窗口大小
self.move(self.last_x, self.last_y)
self.resize(self.nol_width, self.nol_height)
else: # 否则,最大化窗口
self.last_x, self.last_y = self.x(), self.y() # 存下当前窗口位置
self.move(0, 0) # 移动窗口至屏幕左上角
self.resize(x, y) # 调整窗口大小到全屏
# 切换状态
self.maximized = not self.maximized
PYQT 界面最大化、正常化(解决最大化移动不能正常化)
最新推荐文章于 2024-07-24 20:42:53 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)