PyQt5 GUI教程:用Python创建图形界面 | 入门指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是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                

博客

书籍推荐