有哪些企业网站,个人网站备案 名称,开个小网站要怎么做,网络规划设计师2022提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 学习计划第 1 步#xff1a;环境搭建1.1 安装 Python1.2 安装 PyQt安装命令#xff1a;验证安装#xff1a; 第 2 步#xff1a;PyQt 基础知识2.1 创建第一个窗… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 学习计划第 1 步环境搭建1.1 安装 Python1.2 安装 PyQt安装命令验证安装 第 2 步PyQt 基础知识2.1 创建第一个窗口代码示例简单窗口运行结果 2.2 添加基础组件代码示例添加按钮和标签运行结果 2.3 布局管理常用布局管理器代码示例使用垂直布局管理器运行结果 2.4 多窗格布局Splitter代码示例多窗格布局运行结果 小结 大三小伙要在备战考研的一年内利用闲余时间从零开始学习 PyQt 并逐步构建一个类似 Visio 风格的低代码软件项目去实现神经网络的拖拽式搭建。先从最基础的内容开始。 学习计划
环境搭建安装必要的工具和库。PyQt 基础知识 如何创建一个简单的窗口。添加按钮、标签等基础组件。布局管理排列组件。 高级功能 设计拖拽式界面核心功能。绘图和连线功能实现类似 Visio 的画布。多窗格布局和选项卡实现类似 PyCharm 的界面。 实际应用 集成代码生成功能。导出设计为图片和对应网络代码。打包为 EXE 文件。 第 1 步环境搭建
1.1 安装 Python
从 Python 官网 下载并安装 Python建议版本 3.8 及以上。我暂时用的3.10。安装时勾选 “Add Python to PATH”。
1.2 安装 PyQt
PyQt 是一个基于 Qt 库的 Python GUI 框架。
安装命令
pip install PyQt6验证安装
在终端或命令行中运行以下代码查看是否安装成功
import PyQt6
print(PyQt6.__version__) # 输出版本号表示安装成功第 2 步PyQt 基础知识
2.1 创建第一个窗口
PyQt 的核心类是 QApplication 和 QMainWindow。我们可以从这些类开始。
代码示例简单窗口
创建一个基础窗口并运行。
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow# 创建主窗口类
class MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle(我的第一个 PyQt 窗口)self.setGeometry(100, 100, 800, 600) # 设置窗口位置和大小# 创建应用程序
app QApplication(sys.argv)
window MainWindow()
window.show()
sys.exit(app.exec())运行结果
打开一个 800x600 的基础窗口标题为“我的第一个 PyQt 窗口”。程序运行后关闭窗口即可结束。 2.2 添加基础组件
我们在窗口中添加按钮、标签等基础组件。
代码示例添加按钮和标签
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel, QPushButtonclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle(添加组件示例)self.setGeometry(100, 100, 400, 300)# 添加标签self.label QLabel(欢迎使用 PyQt, self)self.label.setGeometry(100, 50, 200, 50) # 设置标签的位置和大小# 添加按钮self.button QPushButton(点击我, self)self.button.setGeometry(100, 150, 100, 50)self.button.clicked.connect(self.on_button_click) # 按钮点击事件def on_button_click(self):self.label.setText(按钮被点击了)# 创建应用程序
app QApplication(sys.argv)
window MainWindow()
window.show()
sys.exit(app.exec())运行结果
窗口中有一个标签和一个按钮。点击按钮后标签文字会变成“按钮被点击了”。 2.3 布局管理
当组件较多时手动设置每个组件的位置非常麻烦。PyQt 提供了 布局管理器 来自动管理组件的排列。
常用布局管理器
QVBoxLayout垂直排列。QHBoxLayout水平排列。QGridLayout网格排列。
代码示例使用垂直布局管理器
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton, QLabelclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle(布局管理示例)self.setGeometry(100, 100, 300, 200)# 创建主控件和布局central_widget QWidget() # 主控件layout QVBoxLayout() # 垂直布局central_widget.setLayout(layout) # 将布局设置到主控件# 添加组件到布局self.label QLabel(这是一个标签)layout.addWidget(self.label)button QPushButton(点击更改标签)button.clicked.connect(self.change_label_text)layout.addWidget(button)self.setCentralWidget(central_widget) # 将主控件设置为窗口中央控件def change_label_text(self):self.label.setText(标签已更改)# 创建应用程序
app QApplication(sys.argv)
window MainWindow()
window.show()
sys.exit(app.exec())运行结果
标签和按钮会按照垂直方向自动排列。点击按钮会修改标签文字。 2.4 多窗格布局Splitter
在实际项目中我们需要实现类似 PyCharm 的多窗格布局可以使用 QSplitter。
代码示例多窗格布局
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QSplitter, QTextEdit, QListWidget
from PyQt6.QtCore import Qtclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle(多窗格布局示例)self.setGeometry(100, 100, 800, 600)# 创建分割器splitter QSplitter(Qt.Orientation.Horizontal, self)# 左侧列表list_widget QListWidget()list_widget.addItems([项目1, 项目2, 项目3])splitter.addWidget(list_widget)# 右侧文本编辑器text_edit QTextEdit()splitter.addWidget(text_edit)self.setCentralWidget(splitter) # 设置分割器为中央控件# 创建应用程序
app QApplication(sys.argv)
window MainWindow()
window.show()
sys.exit(app.exec())运行结果
左侧是一个列表控件右侧是一个文本编辑器。中间的分割条可以拖动调整两部分的大小。 小结
通过以上内容掌握 PyQt 的基础知识
如何创建窗口。如何添加按钮、标签等基础组件。使用布局管理器自动排列组件。创建多窗格布局。