什么是PyQt5及其用途
PyQt5是Qt库的Python绑定集合,是目前最流行的跨平台图形用户界面开发工具之一。借助PyQt5,开发者可以创建具有现代设计和丰富功能的专业桌面应用程序。
PyQt5核心功能
PyQt5为开发者提供了广泛的功能支持:
- 通过QtWidgets模块提供大量现成控件
- 支持窗口、按钮、输入框和列表等基本元素
- 实现信号与槽机制,支持事件驱动编程
- 通过QGraphicsView集成图形元素
- 支持通过样式表自定义界面外观
- 兼容多种操作系统
安装PyQt5库
使用pip包管理器安装PyQt5:
pip install PyQt5
创建基础应用窗口
每个PyQt5应用都从创建QApplication对象开始。这是管理所有窗口和事件的主应用对象。主窗口基于QWidget创建。
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("简单窗口")
window.resize(300, 200)
window.show()
sys.exit(app.exec_())
QApplication是任何PyQt5 GUI应用的必需组件,负责处理系统事件并管理应用生命周期。
使用基本控件
QLineEdit - 文本输入框
QLineEdit是单行文本输入控件,广泛用于获取用户输入。
from PyQt5.QtWidgets import QLineEdit, QVBoxLayout, QPushButton
window = QWidget()
window.setWindowTitle("QLineEdit示例")
layout = QVBoxLayout()
line_edit = QLineEdit()
line_edit.setPlaceholderText("请输入您的姓名")
button = QPushButton("提交")
def on_click():
print(f"您好,{line_edit.text()}!")
button.clicked.connect(on_click)
layout.addWidget(line_edit)
layout.addWidget(button)
window.setLayout(layout)
window.show()
输入框支持多种文本操作方法:
- setText() - 通过代码设置文本
- text() - 获取输入的文本
- setPlaceholderText() - 设置提示文本
- setMaxLength() - 限制最大输入长度
QComboBox - 下拉列表
QComboBox允许用户从提供的列表中选择一个选项。
from PyQt5.QtWidgets import QComboBox
combo = QComboBox()
combo.addItems(["请选择", "Python", "C++", "JavaScript"])
def on_selection_change(value):
print(f"您选择了:{value}")
combo.currentTextChanged.connect(on_selection_change)
layout.addWidget(combo)
QComboBox提供多个实用方法:
- addItem() - 添加单个项目
- addItems() - 添加项目列表
- currentText() - 获取当前选中文本
- currentIndex() - 获取当前选中项索引
- clear() - 清空所有项目
QCheckBox - 复选框与信号处理
QCheckBox允许用户选择或取消选择某个选项。
from PyQt5.QtWidgets import QCheckBox
checkbox = QCheckBox("同意条款")
def on_checkbox_state(state):
if state:
print("复选框已选中")
else:
print("复选框未选中")
checkb