软硬件环境
- Windows 10 64bit
- Anaconda3 with python 3.8
- PyQt5 5.15
前言
我们常见的界面上都有最小化、最大化按钮
鼠标点击后,就可以将窗口缩小成图标或最大化到整个电脑屏幕。本篇我们就来看看如何使用 QWidgets
的对应方法来实现窗口的最小化、最大化、恢复初始大小和全屏显示(也就是没有最小化、最大化和关闭)。
实操
使用 designer.exe
创建一个 Main Window
,拖入4个按钮,设置垂直布局
界面设计完成后,将其转换成 python
的代码
pyuic5.bat -o ui.py project.ui
然后新建一个 main.py
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
from ui import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
# 绑定对应按钮的点击信号和槽方法
self.pushButton_min.clicked.connect(self.do_min)
self.pushButton_max.clicked.connect(self.do_max)
self.pushButton_normal.clicked.connect(self.do_normal)
self.pushButton_fullscreen.clicked.connect(self.do_fullscreen)
def do_min(self):
self.showMinimized()
def do_max(self):
self.showMaximized()
def do_normal(self):
self.showNormal()
def do_fullscreen(self):
self.showFullScreen()
if __name__ == '__main__':
app = QApplication(sys.argv)
windows = MainWindow()
windows.show()
sys.exit(app.exec_())
最后执行的效果是这样的
如果想要知道当前窗口的大小状态,有如下方法可以使用
- isMinimized: 是否是最小化
- isMaximized: 是否是最大化
- isFullScreen: 是否是全屏
- isActiveWindow: 是否是活动窗口
源码下载
https://github.com/xugaoxiang/learningPyQt5
PyQt5系列教程
更多 PyQt5
教程,请移步