PyQt5 基础入门:环境搭建、布局管理与常用控件详解
什么是 PyQt5?
PyQt5 是基于 Qt 库的 Python GUI 框架。Qt 本身是一个跨平台的 C++ 框架,而 PyQt5 让我们能用 Python 轻松构建支持 Windows、macOS 和 Linux 的桌面应用。
安装与环境配置
推荐使用 PyCharm 等 IDE 进行开发。确保已安装 Python 后,通过 pip 安装依赖:
pip install PyQt5
安装完成后,可在终端执行 pip list 确认是否包含 PyQt5。
第一个 PyQt5 程序
新建一个 main.py 文件,写入以下代码来展示一个基础窗口:
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 第一个窗口")
label = QLabel("Hello, World!", self)
self.setCentralWidget(label)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
这段代码的核心逻辑在于:
- 导入模块:
sys用于处理命令行参数及退出进程,QApplication管理应用生命周期,QMainWindow定义主窗口结构。 - 自定义窗口:继承
QMainWindow并重写__init__方法。 - 设置中央控件:使用
setCentralWidget将标签置于窗口中心。 - 事件循环:
app.exec_()启动消息循环,保持窗口运行;sys.exit确保正常退出。
运行后应能看到标题为'PyQt5 第一个窗口'的弹窗。若未显示,请检查是否调用了 window.show() 或解释器是否正确。
布局管理器
手动计算控件坐标很繁琐,PyQt5 提供了布局管理器自动调整位置。
垂直与水平布局
结合 QVBoxLayout 和 QHBoxLayout 可以灵活组织控件:
import sys
from PyQt5.QtWidgets QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel
():
():
().__init__()
.setWindowTitle()
central_widget = QWidget()
.setCentralWidget(central_widget)
vbox_layout = QVBoxLayout()
label = QLabel()
vbox_layout.addWidget(label)
hbox_layout = QHBoxLayout()
button1 = QPushButton()
button2 = QPushButton()
hbox_layout.addWidget(button1)
hbox_layout.addWidget(button2)
vbox_layout.addLayout(hbox_layout)
central_widget.setLayout(vbox_layout)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())


